首页 > 解决方案 > 以编程方式获取所有对 Eclipse 中的扩展点有贡献的扩展

问题描述

例如,我想获取所有有助于扩展点的菜单的 id 值:org.eclipse.ui.menus

我可以使用 API 检索它IExtensionRegistryIExtension但是我需要遍历树IConfigurationElement以获得每个菜单的 id 值,这不是一件令人愉快的事情。

eclipse 中是否有更好的 API 来执行此任务?

标签: eclipseeclipse-plugineclipse-rcp

解决方案


IExtensionRegistry是正确的API。

获取所有扩展点声明的简单数组的最简单调用是:

IExtensionRegistry registry = Platform.getExtensionRegistry();

IConfigurationElement[] elements = registry.getConfigurationElementsFor("org.eclipse.ui.menus");

main 的子节点的结构IConfigurationElement取决于各个扩展点。你必须在你的代码中处理它。


推荐阅读