如何让我的插件从 Eclipse 平台的现有菜单中添加一个菜单项到现有的子菜单中?

How to make my plugin contributes adding a menu-item into an existing sub-menu from an existing menu in Eclipse platform?

目前我正在一个 Eclipse 插件项目中工作,我在其中创建了一个视图,可以通过单击主菜单 Window->显示查看->其他...,然后单击 其他 类别中的我的视图。

目前我正在 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 添加到 sub-menu Show Viewmenu-items 中Eclipse 的现有 Window 菜单。 类似于 Window->Show View->Sample Command.

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

提前致谢。

'Window > Show Views' 中直接显示的视图称为 'view shortcuts'。您可以使用 org.eclipse.ui.perspectiveExtensions 扩展点为特定视角添加这些。

类似于:

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

此处 targetID 定义您正在更新的视角,viewShortcutid 是您的视图的 ID。

您可能需要重置视角才能显示您添加的内容(Window > 视角 > 重置视角)。