2009-06-02 16 views
2

プラグインからEclipseワークスペースをプログラムで変更したい(既存のプロジェクトを追加することが私の主なリクエストです)。 また、そのプラグインからCDTオプション(環境、インデクサーオプション)を変更したいと思います。プラグインからEclipseワークスペースとCDTオプションをプログラムで変更する

誰かがこれを最善にする方法を知っていますか、そのトピックに関する良い文書を私に指摘することができますか?

EDIT: 実は私はCDTプロジェクトの設定を変更したいが、グローバルCDTの設定(実際に私はインデクサーを無効にする)の一部はありません。

答えて

3

あなたが行った変更の種類によって異なります。

たとえば、プロジェクトを追加すると、this threadが最もよく表示されます。

String theProjName = "Test"; 
String theLocation = "/some/test/project"; 

try { 
    IWorkspaceRoot theRoot = ResourcesPlugin.getWorkspace().getRoot(); 
    IProject theProject = theRoot.getProject(theProjName); 
    IProjectDescription theDesc =  theProject.getWorkspace().newProjectDescription(theProjName); 
     theDesc.setLocation(new Path(theLocation)); 
    theProject.create(theDesc, new NullProgressMonitor()); 
    if (theProject.exists()) { 
     theProject.open(new NullProgressMonitor()); 
    } 
} catch (CoreException err) { 
    err.printStackTrace(); 
} 

またopen an editorにしたいこと:

IWorkbenchWindow dw = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); 
try { 
    if (dw != null) { 
    IWorkbenchPage page = dw.getActivePage(); 
    if (page != null) { 
    IDE.openEditor(page, file, true);     
    } 
} 
} catch (PartInitException e) { 

} 

より一般的には、eclipse.dev.orgは、そのトピックのポインタのための良いソースにすることができます。


2004年から、あなたはPreference Setting StoreICSettingsStorage)を介して変更することができますCDT has options。それが助けになるかもしれない。


インデクサーに関しては、Discovery Preferencesに注意してください。
私はnot sure there is an Indexer APIですが、更なる手がかりについてはlook at the sourcesです。

+0

回答を「ハーフソリューション」としてマークすることはできますか?あなたの答えは良いですが、私もCDTオプションの部分が必要です。しかし、多分私は質問からCDTの部分を削除し、新しいものを作ることができます:-) CDTのものを追加する可能性はありますか? – mmmmmmmm

+0

@rstevens:詳細は少し霧がかかりますが、CDTプロジェクト設定をセットアップする1つの方法は、CDTプロジェクトを拡張する新しいプロジェクトウィザードを作成し、新しいCDTプロジェクトに設定を追加することです(既存のプロジェクトをワークスペースI思う)。私はそれのようなことをやったので、それはしばらくしていたが、それは場所にすべてを得るために少しトリッキーにすることができます。プラグインで設定を動的に編集/変更したい場合は、CDT設定ページなどを拡張することをお勧めします。おそらくあなたはその設定にアクセスできます。 –

+0

@rstevens:漠然とした説明は申し訳ありませんが、しばらくお待ちしております。 –

関連する問題