如何使我的插件有助于将菜单项从Eclipse平台中的现有菜单添加到现有子菜单中?

时间:2018-10-19 21:26:04

标签: java plugins eclipse-plugin eclipse-rcp menuitem

当前,我正在一个Eclipse插件项目中创建一个视图,该视图可以通过单击主菜单 Window-> Show view-> Other ... 来显示。 > ,然后从 Other 类别中单击我的视图。

当前,我正在plugin.xml文件中尝试此操作:

<extension
     point="org.eclipse.ui.menus">
  <menuContribution
        locationURI="menu:window?after=additions">

     <menu 
           id="com.kwantec.helloworld.menus.sampleMenu"
           label="Sample Menu"
           mnemonic="M">
        <command
              commandId="com.kwantec.helloworld.commands.sampleCommand"
              id="com.kwantec.helloworld.menus.sampleCommand"
              mnemonic="S">
        </command>
     </menu>
  </menuContribution>
</extension>
导致新子菜单Sample Menu

..出现在Eclipse的现有Window菜单中。然后,我可以通过单击Window->Sample Menu->Sample Command打开我的 View 。 但是现在,我需要将Sample Command直接从现有Show View子菜单 Window菜单项中添加Eclipse的菜单。 像Window->Show View->Sample Command之类的东西。

我花了几天时间研究Eclipse Platform文档,但并没有取得重大进展。 有人知道该怎么做吗?

先谢谢了。

1 个答案:

答案 0 :(得分:0)

直接在“窗口>显示视图”中显示的视图称为“视图快捷方式”。您可以使用org.eclipse.ui.perspectiveExtensions扩展点将它们添加到特定的角度。

类似的东西:

<extension point="org.eclipse.ui.perspectiveExtensions"> 
    <perspectiveExtension 
        targetID="org.eclipse.ui.resourcePerspective"> 
        <viewShortcut id="your.view.id"/> 
    </perspectiveExtension> 
</extension> 

Herer targetID定义了您要更新的透视图,id的{​​{1}}是视图的ID。

您可能需要重置透视图才能显示添加的内容(“窗口”>“透视图”>“重置透视图”。