首页 > 解决方案 > 如何使我的插件有助于从 Eclipse 平台中的现有菜单将菜单项添加到现有子菜单中?

问题描述

目前我正在一个 Eclipse 插件项目中工作,在该项目中我创建了一个视图,可以通过单击主菜单Window->Show view->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出现在WindowEclipse 的现有菜单中。然后我可以通过单击打开我的视图Window->Sample Menu->Sample Command。但是现在,我需要的是直接将其从Eclipse的现有菜单中添加Sample Command子菜单的菜单项中。类似的东西。 Show ViewWindowWindow->Show View->Sample Command

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

提前致谢。

标签: javapluginseclipse-plugineclipse-rcpmenuitem

解决方案


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

就像是:

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

HerertargetID定义了您正在更新的透视图,并且idofviewShortcut是您的视图的 id。

您可能需要重置透视图以显示添加内容(窗口 > 透视图 > 重置透视图)。


推荐阅读