Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在Eclipse4.2的RCP应用程序中重用菜单?_Java_Eclipse_Eclipse Rcp_Eclipse Emf_Eclipse Juno - Fatal编程技术网

Java 如何在Eclipse4.2的RCP应用程序中重用菜单?

Java 如何在Eclipse4.2的RCP应用程序中重用菜单?,java,eclipse,eclipse-rcp,eclipse-emf,eclipse-juno,Java,Eclipse,Eclipse Rcp,Eclipse Emf,Eclipse Juno,我正在使用带有兼容层的Eclipse4.2为我的RCP应用程序重用现有部分 我想重用文件菜单中的新功能,并在我的RCP应用程序中运行菜单,因此我打开了Eclipse的EMF编辑器,其外观如下: 但对于新菜单,它显示如下内容:org.eclipse.e4.model.application…. 我的应用程序如下所示(它只是Java脚本调试器,具有一些额外的功能): 那么我如何在我的RCP应用程序中重用这些菜单呢?我想我理解你的意思。您在EclipseJuno上打开了E4Live编辑器,以获取用

我正在使用带有兼容层的Eclipse4.2为我的RCP应用程序重用现有部分

我想重用文件菜单中的新功能,并在我的RCP应用程序中运行菜单,因此我打开了Eclipse的EMF编辑器,其外观如下:

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

我的应用程序如下所示(它只是Java脚本调试器,具有一些额外的功能):


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

我想我理解你的意思。您在EclipseJuno上打开了E4Live编辑器,以获取用于新建和运行菜单项的命令,以便您可以在自己的代码中重用它

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

如果您了解Eclipse3.x,您可能正在搜索预定义的 可以重复使用的命令。Eclipse4平台试图做到 尽量瘦

Eclipse4不再包含标准命令。你必须 定义所有命令

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

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

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

要添加新菜单项,请转到
plugin.xml
,在扩展选项卡中,添加
org.eclipse.ui.menus
。创建一个menucontribution,其位置URI为
menu:org.eclipse.ui.main.menu
。然后,您必须添加一个菜单,并为其添加标签
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>....

....

我确实每次都能看到你的“颠簸”(编辑),但在这一点上,(少量)赏金会更有效。另外,编辑你的问题(当设置悬赏时),再加上一些你尝试过的,你看过的医生的细节。我认为我没有正确回答你的问题。你到底想做什么?A) 向新resp提供命令。运行菜单或B)使用新菜单中已有的命令?无法完全理解您的问题。正如@col.panic所提到的,问题可能是关于将一些命令链接到菜单
File->New
,或者关于将相同的命令
Run
链接到
File->New
。在任何情况下,您尝试过的内容都没有足够的信息,您的屏幕截图也没有显示任何有用的信息。@Sumitsing您能不能以愚蠢的方式(像我一样)解释一下:您想在RCP应用程序中重用文件菜单和运行菜单中的新代码-好的,简单明了。但是,您希望从哪个应用程序重用这些菜单???@SumitSingh,您是否可以为您的RCP项目提供生成文件
plugin.xml
的当前源代码,您在该项目中尝试创建了这些菜单?