Кто-нибудь знает, как получить список всех записей «Предпочтения» и «Свойства» программно. Я знаю о PreferencesUtil
, но это только позволяет мне открыть определенную страницу по id (насколько я знаю).Получить список всех предпочтительных страниц в Eclipse
1
A
ответ
2
Вы можете использовать PreferenceManager
, чтобы получить привилегированные страницы:
PreferenceManager prefsManager = PlatformUI.getWorkbench().getPreferenceManager();
IPreferenceNode [] rootNodes = prefsManager.getRootSubNodes();
IPreferenceNode
Каждый может иметь детей, так что вы должны вызвать getSubNodes()
на каждом узле, чтобы получить их.
Для страниц свойств нет эквивалента. Они управляются PropertyPagesRegistryReader
, который является внутренним классом и поэтому не применим.
В качестве альтернативы вы можете использовать реестр расширения, чтобы читать точки расширения самостоятельно. Так что-то вроде:
IExtensionRegistry extReg = Platform.getExtensionRegistry();
IExtensionPoint extPoint = extReg.getExtensionPoint("org.eclipse.ui.propertyPages");
IConfigurationElement [] elements = extPoint.getConfigurationElements();
, который дает вам все IConfigurationElement
для точки расширения.
thx greg. Ты восхитителен. –