如何在Eclipse 4.2的RCP应用程序中重用菜单?

Sum*_*ngh 22 java eclipse eclipse-rcp eclipse-emf eclipse-juno

我正在使用带有兼容层的Eclipse 4.2来重用我的RCP应用程序的现有部分.

我想重新使用新的文件菜单运行 菜单在我的RCP应用程序,所以我打开了Eclipse和它的外观像这样的EMF编辑器:

在此输入图像描述

但对于New菜单,它显示如下:org.eclipse.e4.model.application....

我的应用程序看起来像这样(它只是带有一些额外功能的Java Script调试器):

在此输入图像描述

那么如何在我的RCP应用程序中重用这些菜单呢?

nbz*_*nbz 3

我想我明白你在说什么。您在 Eclipse Juno 上打开了 E4 Live Editor,以获取“新建”和“运行”菜单项的命令,以便您可以在自己的代码中重用它?

如果我是正确的,那么在 E4 中你不能再使用 Eclipse 提供的默认命令。您需要定义自己的命令。详细信息请参见此处

如果您了解 Eclipse 3.x,您可能正在寻找可以重复使用的预定义命令。Eclipse 4 平台试图尽可能精简。

Eclipse 4 不再包含标准命令。您必须定义所有命令。

因此,如果您尝试通过 .e4xmi 文件添加这些命令,则必须使用自己的处理程序定义自己的命令。

如果您仍然希望使用 Eclipse 提供的命令,那么还有一个办法,那就必须通过 plugin.xml 文件来完成。既然您说您正在使用兼容层,那么您可能仍然有很多遗留代码,并且通过plugin.xml 添加这些菜单项可能没问题。不过,一旦您进行了硬迁移,我相信 Eclipse 会尝试减少 plugin.xml 中扩展的使用,在这种情况下您将必须定义自己的命令。

因此,如果您想添加这些命令,则必须通过plugin.xml 中的扩展来完成。

要添加“新建”菜单项,请转到plugin.xml“扩展”选项卡中的“添加” org.eclipse.ui.menus。创建一个 locationURI 为 的菜单贡献menu:org.eclipse.ui.main.menu。然后您必须添加一个菜单并为其指定标签File

这会将菜单添加File到您的 RCP。然后您必须添加命令New。为此,您需要向刚刚创建的“文件”菜单添加一个命令。添加命令后,在 commandID 中选择“浏览”并查找org.eclipse.ui.file.newQuickMenu

所以你的plugin.xml 将包含以下代码。

<extension
         point="org.eclipse.ui.menus">
      <menuContribution
            allPopups="false"
            locationURI="menu:org.eclipse.ui.main.menu">
         <menu
               id="fileMenu"
               label="File">
            <command
                  commandId="org.eclipse.ui.file.newQuickMenu"
                  style="push">
            </command>....
Run Code Online (Sandbox Code Playgroud)