2017-02-21 33 views

ответ

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 для точки расширения.

+0

thx greg. Ты восхитителен. –