eclipse - 以编程方式获取所有对 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");
main 的子节点的结构IConfigurationElement
取决于各个扩展点。你必须在你的代码中处理它。
推荐阅读
- aws-lambda - 将 aws lambda 与 java 和 Spring Cloud Functions 用于其他语言是一个好主意吗?
- java - 在 java eclipse 内存分析器中:获取堆转储对话框显示没有要获取的 PID
- reactjs - 使用 Sass (React) 在 Materialise 中更改主题颜色
- sql - 图像中的十六进制字节数组用空格填充,并且 - 在 INSERT 到表 postgresql 之后
- python - 是否可以不让用户关闭 Tkinter 窗口?
- python - 如何使用 Flask-SQLAlchemy 在应用程序上下文中创建和使用会话
- java - 使用 .replaceAll 函数从相反方向将字符串拆分为多个部分?JAVA
- javascript - Typescript 使用 forEach 或 map 丢失未定义的上下文
- javascript - Vue Test Utils 多个输入发出重置值
- python - 我没有从 sqlalchemy 查询中获得任何数据?