【问题标题】:How to reuse menus in RCP application for Eclipse 4.2?如何在 Eclipse 4.2 的 RCP 应用程序中重用菜单?
【发布时间】:2012-10-19 17:19:33
【问题描述】:

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

我想在我的 RCP 应用程序中重复使用 File menuRun menu 中的 New,因此我打开 Eclipse 的 EMF 编辑器,它看起来像这样:

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

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

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

【问题讨论】:

  • 我确实每次都看到你的“颠簸”(编辑),但在这一点上,(小)赏金会更有效。还可以编辑您的问题(在设置赏金时),提供更多关于您尝试过的内容、查看过的文档的详细信息。
  • 我认为我没有正确回答您的问题。你到底想做什么? A)向新的响应贡献命令。运行菜单或 B) 使用新菜单中已有的命令?
  • 完全无法理解您的问题。正如@col.panic 所提到的,问题可能是关于将一​​些命令链接到菜单File->New 或关于将相同的命令Run 链接到File->New。无论如何,关于您尝试过的内容的信息不足,并且您的屏幕截图没有显示任何有用的信息。
  • @SumitSingh 你能解释一下愚蠢的(就像我一样):你想在你的 RCP 应用程序中重用文件菜单中的 NewRun 菜单 - 好的,它很清楚。但是您希望从哪个应用程序重用这些菜单??
  • @SumitSingh,您能否为您的 RCP 项目提供生成文件 plugin.xml 的当前源,您曾尝试在哪里创建这些菜单?

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


【解决方案1】:

我想我明白你在说什么。您在 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 的 menucontribution。然后你必须添加一个菜单并给它标签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>....

【讨论】:

    猜你喜欢
    • 2011-09-17
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-08
    • 1970-01-01
    相关资源
    最近更新 更多