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

时间:2012-10-30 11:13:33

标签: java eclipse eclipse-rcp eclipse-emf eclipse-juno

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

我想在我的RCP应用程序中重用文件菜单运行 菜单中的,所以为此我打开Eclipse的EMF编辑器,它看起来像这样:

enter image description here

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

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

enter image description here

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

1 个答案:

答案 0 :(得分:3)

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

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

  

如果您了解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中选择Browse并查找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>....