2017-06-27 14 views
0

PlatformUIを使用して設定を保存する際に問題があります。私はPreferencesServiceを作成して、プラグインのプリファレンスにアクセスして編集したいと思っていました。私はActivatorから私のサービスの初期化関数を呼び出していますが、これは影響ありません。ここに私の機能は次のとおりです。PlatformUI.getPreferenceStore()何も保存しない

​​

私は私のアクチベーターからこの方法でそれを呼んでいる:、どちらの検証

@Override 
public void start(final BundleContext bundleContext) throws Exception { 
    // Initialize all preferences 
    UserPreferencesService.initPreferences(); 

    Activator.context = bundleContext; 
} 

デバッガを使用して.metadata環境設定ファイルをveryfing論文の修正が取り込まれていないことを示していますEclipseによる対価。

これは悪い習慣ですか?私はこのようなやり方をしていた古い3.4 Eclipseプラグインを編集していますが、好みの使用に失敗する違いは見つかりません。

はい、これは悪い習慣であなたの読書をありがとう、そして多分あなたの答えを、 ワルド

答えて

2

。このプリファレンスストアは、ワークベンチ専用です。

プラグインに固有のIPreferenceStoreを使用してください。アクティベータがAbstractUIPluginの場合は、AbstractUIPlugin.getPreferenceStoreメソッドを呼び出すことができます。

デフォルト設定を初期化するには、org.eclipse.core.runtime.preferences拡張ポイントを使用して、デフォルトを設定するinitializerクラスを定義する必要があります。

注:needsSavingメソッドは、プリファレンスストアが変更されたかどうかを示すためにtrueまたはfalseを返します。フラグを設定したり保存したりすることはありません。

また、デフォルト値は環境設定ファイルに書き込まれません。

+0

gregありがとうございました!あなたはそれを作った!私は 'Activator'に' getDefault() 'メソッドを追加しなければなりませんでしたので、静的メソッド' getPreferenceStore() 'に到達することができました。 – Waldo

関連する問題