获取 Eclipse 中所有首选项页面的列表
Get List of all Preference Pages in Eclipse
有谁知道如何以编程方式接收 "Preferences" 和 "Properties" 的所有条目的列表。
我确实知道 PreferencesUtil
,但这只允许我通过 ID 打开特定页面(据我所知)。
您可以使用 PreferenceManager
获取偏好页面:
PreferenceManager prefsManager = PlatformUI.getWorkbench().getPreferenceManager();
IPreferenceNode [] rootNodes = prefsManager.getRootSubNodes();
每个 IPreferenceNode
可以有 children 所以你必须在每个节点上调用 getSubNodes()
来获得这些。
属性 页没有对应的页面。这些由 PropertyPagesRegistryReader
管理,它是 内部 class,因此不可用。
或者,您可以使用扩展注册表自行读取扩展点。所以像:
IExtensionRegistry extReg = Platform.getExtensionRegistry();
IExtensionPoint extPoint = extReg.getExtensionPoint("org.eclipse.ui.propertyPages");
IConfigurationElement [] elements = extPoint.getConfigurationElements();
这为您提供了扩展点的所有 IConfigurationElement
。
有谁知道如何以编程方式接收 "Preferences" 和 "Properties" 的所有条目的列表。
我确实知道 PreferencesUtil
,但这只允许我通过 ID 打开特定页面(据我所知)。
您可以使用 PreferenceManager
获取偏好页面:
PreferenceManager prefsManager = PlatformUI.getWorkbench().getPreferenceManager();
IPreferenceNode [] rootNodes = prefsManager.getRootSubNodes();
每个 IPreferenceNode
可以有 children 所以你必须在每个节点上调用 getSubNodes()
来获得这些。
属性 页没有对应的页面。这些由 PropertyPagesRegistryReader
管理,它是 内部 class,因此不可用。
或者,您可以使用扩展注册表自行读取扩展点。所以像:
IExtensionRegistry extReg = Platform.getExtensionRegistry();
IExtensionPoint extPoint = extReg.getExtensionPoint("org.eclipse.ui.propertyPages");
IConfigurationElement [] elements = extPoint.getConfigurationElements();
这为您提供了扩展点的所有 IConfigurationElement
。