我有以下问题。我有一个使用Store机制存储首选项的首选项页面。现在,必须从不包含org.eclipse.ui的插件访问这些首选项,这意味着存储机制不可用,我只能使用运行时首选项机制。
如何使用“首选项”页面创建运行时首选项?
我有以下问题:
Activator.getDefault().getPreferenceStore()
new InstanceScope().getNode("<plugin id>")
; 如何同步两者?
答案 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()(尽管我认为这些方法只是写出来磁盘缓存)。