我工作的一個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