以编程方式获取对 Eclipse 中的扩展点有贡献的所有扩展
Programmatically get all extensions contributing to an extension point in Eclipse
例如,我想获取对扩展点有贡献的菜单的所有 id 值:org.eclipse.ui.menus
我可以使用 API IExtensionRegistry
、IExtension
检索它,但我需要遍历 IConfigurationElement
的树来获取每个的 id 值菜单,这不是一件令人愉快的事情。
eclipse 中有没有更好的 API 来完成这个任务?
IExtensionRegistry
是正确的 API。
获取所有扩展点声明的简单数组的最简单调用是:
IExtensionRegistry registry = Platform.getExtensionRegistry();
IConfigurationElement[] elements = registry.getConfigurationElementsFor("org.eclipse.ui.menus");
主要 IConfigurationElement
的子结构取决于各个扩展点。你必须在你的代码中处理它。
例如,我想获取对扩展点有贡献的菜单的所有 id 值:org.eclipse.ui.menus
我可以使用 API IExtensionRegistry
、IExtension
检索它,但我需要遍历 IConfigurationElement
的树来获取每个的 id 值菜单,这不是一件令人愉快的事情。
eclipse 中有没有更好的 API 来完成这个任务?
IExtensionRegistry
是正确的 API。
获取所有扩展点声明的简单数组的最简单调用是:
IExtensionRegistry registry = Platform.getExtensionRegistry();
IConfigurationElement[] elements = registry.getConfigurationElementsFor("org.eclipse.ui.menus");
主要 IConfigurationElement
的子结构取决于各个扩展点。你必须在你的代码中处理它。