首选项页面和运行时插件

时间:2011-06-14 12:17:01

标签: eclipse preferences

我有以下问题。我有一个使用Store机制存储首选项的首选项页面。现在,必须从不包含org.eclipse.ui的插件访问这些首选项,这意味着存储机制不可用,我只能使用运行时首选项机制。

如何使用“首选项”页面创建运行时首选项?

我有以下问题:

  • 使用首选项页面时,使用的类是Activator.getDefault().getPreferenceStore()
  • 使用运行时插件时,该类为new InstanceScope().getNode("<plugin id>");

如何同步两者?

1 个答案:

答案 0 :(得分:3)

请参阅Eclipse: OSGI Preferences vs. PreferenceStore

基本上,InstanceScope.INSTANCE.getNode(“bundle.id”)为您提供支持您的包org.eclipse.core.runtime.preferences.IEclipsePreferences的{​​{1}}。你不应该同步它们,因为它们是一样的。

他们不同步了吗?如果默认情况下它们不同步,您可能必须执行IPersistentPreferenceStore#save()和/或org.osgi.service.prefs.Preferences.flush()(尽管我认为这些方法只是写出来磁盘缓存)。