com.site.plugin.core と com.site.plugin.ui という 2 つのプラグインがあります。
コア部分を UI 部分から分離したいので、プラグイン com.site.plugin.ui で、com.site.plugin.core で使用する必要があるいくつかの設定を定義する設定ページを作成しました。Eclipse サイトの記事を確認しましたが、かなり古く、リンクされたバグもあまり情報を提供しません。
標準のEclipseメカニズムを使用してこれを行うことは可能ですか、またはパッケージorg.eclipse.core.runtime.preferencesを介して直接低レベルAPIを使用する必要がありますか?
2160 次
3 に答える
5
UI は Core に依存していて、それ以外には依存していないと思います。この場合、次のように、UI プラグインの設定ページで Core の設定ストアを使用できます。
IPreferenceStore store = CorePluginActivator.getDefault().getPreferenceStore();
setPreferenceStore(store);
このようにして、設定ページは Core プラグインに値を保存します。Core プラグインは、UI プラグインに依存せずに値を使用できます。
于 2011-03-10T04:28:13.230 に答える
2
プリファレンス サービスを使用して、他のプラグインのプリファレンスにアクセスすることもできます。
String pref = Platform.getPreferencesService().getString(
"org.myplugin.preferences.page", "pref name",
"default value if pref not found", null);
于 2011-08-31T09:20:36.310 に答える
1
設定ストアはプラグインごとに見つかります。これは、アクティベータークラスがActivatorAであるプラグインの設定ストアを取得する1つの方法です。
IPreferenceStore store = ActivatorA.getDefault().getPreferenceStore();
別のプラグインが同じストアを参照するようにしたい場合は、ActivatorAでAPIを公開して、そこに到達させることができます。
public IPreferenceStore getSharedPrefs() {
return ActivatorA.getDefault().getPreferenceStore();
}
2番目のプラグインはこれを行うことで共有ストアを見つけます
IPreferenceStore sharedPrefs = ActivatorA.getSharedPrefs();
幸運を。
于 2010-05-10T23:19:31.563 に答える