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

21

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

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

enter image description here

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

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

enter image description here

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


1
我每次都看到你的“颠簸”(编辑),但是现在,一个(小)赏金会更有效。此外,在设置赏金时,编辑您的问题并提供更多有关您尝试过什么以及查看了哪些文档的详细信息。 - VonC
3
我不确定我是否正确理解了你的问题。你到底想做什么?A) 是要为“新建”或“运行”菜单添加命令吗?还是B) 在“新建”菜单中使用已经可用的命令?请告诉我具体需求。 - col.panic
1
完全无法理解你的问题。正如@col.panic所提到的,问题可能是关于将某些命令链接到菜单“文件->新建”或将相同的命令“运行”链接到“文件->新建”。无论哪种情况,都没有足够的信息说明你尝试了什么,而且你的截图也没有显示任何有用的信息。 - Andremoniy
1
@SumitSingh,您能否为像我这样的蠢货解释一下:您想在RCP应用程序中重用“文件”菜单和“运行”菜单 - 好的,这很清楚。但是您想从哪个应用程序重用这些菜单?? - Andremoniy
1
@SumitSingh,你能提供一下你的RCP项目中生成文件plugin.xml的当前源代码吗?在那里你尝试创建这些菜单。 - Andremoniy
显示剩余4条评论
1个回答

3
我想我明白你的意思。你在Eclipse Juno上打开了E4 Live Editor,以获取New和Run菜单项的命令,以便在自己的代码中重用它们?如果我的理解正确,那么在E4中,您不能再使用Eclipse提供的默认命令。您需要定义自己的命令。有关详细信息,请参见此处
如果您熟悉Eclipse 3.x,则可能正在搜索可重复使用的预定义命令。Eclipse 4平台尽可能精简。Eclipse 4不再包括标准命令。您必须定义所有命令。
因此,如果您尝试通过.e4xmi文件添加这些命令,则必须定义具有其自己处理程序的自己的命令。
如果您仍希望使用Eclipse提供的命令,那么有一种方法需要通过plugin.xml文件进行操作。由于您说您正在使用兼容性层,可能仍然有很多遗留代码,可以通过plugin.xml添加这些菜单项。但是,一旦您完成了硬迁移,我相信Eclipse正在尝试减少在plugin.xml中使用扩展,在这种情况下,您将不得不定义自己的命令。
因此,如果您想添加这些命令,则必须通过plugin.xml中的扩展来完成。
要添加"New"菜单项,请转到您的plugin.xml,在"Extensions"选项卡中添加org.eclipse.ui.menus。创建一个具有locationURI为menu:org.eclipse.ui.main.menu的menucontribution。然后,您必须添加一个菜单并将其标记为File
这将向您的RCP添加"File"菜单。然后,您必须添加"New"命令。为此,您可以将命令添加到刚刚创建的"File"菜单中。一旦添加了命令,您可以在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>....

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接