我工作的一个Eclipse插件(或事实上,对于一个基于Eclipse的应用程序中的插件)可以由用户输入这就需要进行一些配置。的Eclipse:OSGI偏好与PreferenceStore
从查看文档看来,似乎有两个首选API--一个在org.eclipse.core.runtime.preferences
,扩展/实现OSGI prefererence API,另一个,特定于JFace,在org.eclipse.jface.preference
。那么我们也有org.eclipse.ui.preferences
。
在OSGi API具有分层节点树 - 偏好节点(Preferences
或IEclipsePreferences
)可以有多个子节点,其自身可以包含单独的名称 - 值对,以及更子节点。这对我的用例来说似乎是正确的 - 我有一个动态数量的“偏好组”,每个组都有大约三个字符串属性(名称,描述,命令),这将很好地映射到这些节点。
JFace API没有这样的层次结构,每个插件只有一个平面IPreferenceStore
。但是它提供了偏好编辑器页面,通过执行IWorkbenchPreferencePage
和using the "org.eclipse.ui.preferencePages" extension point,可以将其包含在通常的首选项对话框(窗口/首选项)中。 (我自己仍然需要实现部分偏好页面,但是这个API似乎为此提供了一个很好的基础。)
看起来org.eclipse.ui.preferences
API以某种方式桥接了这两个API,它们提供了一个IPreferenceStore实现,它基于IEclipsePreferences,但我仍然无法看到如何使用它。
所以在这里我的问题:如何在首选项对话框中使用分级OSGI Preferences
?我只需要一个级别,但我需要用户能够动态添加新节点(每个节点大约有三个首选项)。 (这些节点不必有新的偏好页面,虽然)。
谢谢,这也是我迄今收集。我现在正在沿着这个方法工作。 – 2011-04-26 20:41:04