2016-09-20 5 views
0

私は、カスタムプロジェクトの性質を持つEclipseプラグインで作業しています。プロジェクトに関するカスタム情報をワークスペースに保存する必要があります。たとえば、私のプロジェクトは、List<DbConfig>にあるいくつかのdb接続情報を使用する必要があります。次はDBCONFIGクラスです:Eclipse Natures Projectのカスタムオブジェクトを保存するには?

public class DbConfig { 
    private String dbName; 
    private String connectionString; 
    private String username; 
    private String password; 
    //... getters and setters 
} 

は、私はそのようsomethink必要がありますが、好みに入れたいタイプオブジェクト:

IProject project = ... get project from selection or something 
IScopeContext context = new ProjectScope(project); 
Preferences projectPreferences = context.getNode("your nature id"); 
projectPreferences.put(key, value); 
projectPreferences.flush(); 

オブジェクトは、私がこの一覧や他のいくつかの好みを置くべきでは?

答えて

1

オブジェクトをプリファレンスストアに保存することはできません。

プラグインの「状態の場所」に任意のデータを保存できます。

は使用状態の場所を取得します。

Bundle bundle = ... your plugin bundle 

IPath path = Platform.getStateLocation(bundle); 

返さIPath値は、ワークスペースのメタデータ領域になります。

プロジェクトごとに別々のファイルを使用できます。

あなたは使ってBundle得ることができます:

Bundle bundle = FrameworkUtil.getBundle(getClass()); 

または

Bundle bundle = Platform.getBundle("your plugin id"); 
+0

こんにちは、グレッグ!あなたはいつも私を助けてくれて、ありがとう。 私はそれを呼び出す必要がありますか? CustomProjectNaturesクラスでは? –

+0

これはあなたが環境設定を使うつもりだったのと同じ場所にこれを使用します –

+0

私はまだ理解しません。私はどのようにバンドルから好きなように得ることができますか? –

関連する問題