无法通过 Eclipse 4 模型编辑器中的模型片段定义将菜单添加到 org.eclipse.ui.main.menu

Cannot add menu to org.eclipse.ui.main.menu through Model Fragment Definition in Eclipse 4 model editor

我有一个用 Eclipse 4 开发的 eclipse-rcp 应用程序。这个应用程序是用几个插件和特性模块化的。此应用程序是使用 pomless 使用 maven-tycho 构建的。项目结构遵循 vogella 为 Eclipse Tycho.

提出的指导方针

该项目在插件 app.rcp (Application.e4xmi) 中定义了一个主应用程序模型。它有几个插件,通过几个 fragment.e4xmi 文件扩展这个应用程序模型。具体来说,在其中一个中,我修改了应用程序模型,以在 frament.e4xmi 中使用以下行向应用程序主菜单添加一个菜单:

扩展元素 ID:org.eclipse.ui.main.menu 功能名称:儿童 在列表中的位置:index:1000

这个模型片段允许我通过 Eclipse 4 模型编辑器毫无问题地添加菜单、处理菜单等。

此时我的objective是构建一个单独的功能,不在同一个项目中,在应用程序主菜单中添加一个类似的菜单,将安装在原来的应用程序中使用p2 更新站点。

为此,我创建了一个带有应用程序模型片段 (fragment.e4xmi) 的插件。我尝试使用 Eclipse 4 模型编辑器修改文件,推送 Find... of Extended Element-ID 字段。但是,当我 select 容器类型的菜单时,没有我可以 select 的项目。在另一个插件中,我可以 select 主菜单 (org.eclipse.ui.main.menu) 和其他创建的菜单。

我尝试将依赖项添加到主应用程序的插件中。项目在命令行编译(mvn clean verify),但是在Eclipse中IDE显示找不到主应用的插件

编辑:

这里的问题是添加菜单、MenuSeparator、HandledMenuItem 等的组合被禁用,所以我无法添加任何一个。当我按下添加按钮时,它什么也没做。我曾尝试使用文本编辑器直接更改 fragment.e4xmi 文件,但我无法测试是否可行。

我引用的组合框位于模型片段的 "Position in list" 字段下方 (see Model Fragment editor image)

您必须将菜单添加到 fragment.e4xmi 中的 'Imports' 部分才能使 'Find' 对话框正常工作。

你也可以直接手动添加id,加载模型的时候应该还是能正常解析的。