2013-04-11 70 views
0

我想在一个viewpart的上下文菜单中定义一个子菜单项。如何提供上下文菜单的子菜单?

我想通过我自己的插件在这个子菜单中贡献一个“连接配置文件”菜单项,我希望其他插件也可以为这个子菜单提供菜单项。

我的plugin.xml

<extension 
     point="org.eclipse.ui.menus"> 
     <menuContribution 
      allPopups="false" 
      locationURI="popup:cn.ggfan.dmp.view.explorer"> 
     <menu 
       id="new" 
       label="New"> 
     </menu> 
     </menuContribution> 
     <menuContribution 
      allPopups="false" 
      locationURI="menu:new?after=additions"> 
     <command 
       commandId="cn.ggfan.dmp.commands.addCP" 
       label="Connection Profiles" 
       style="push"> 
     </command> 
     </menuContribution> 
    </extension> 

这行的事工作。我的代码有什么问题?

----------------------- 编辑 -------------------- ---
如果我像这样定义子菜单,它可以工作。但我仍然不知道如何为其他插件中的“新”子菜单做出贡献。

<menuContribution 
      allPopups="false" 
      locationURI="popup:cn.ggfan.dmp.view.explorer"> 
     <menu 
       id="new" 
       label="new"> 
      <command 
        commandId="cn.ggfan.dmp.commands.addCP" 
        label="Connection Profiles" 
        style="push"> 
      </command> 
     </menu> 
     </menuContribution> 

enter image description here

回答

3

终于,我得到了它,我的“新”子菜单应为“弹出”不是一个“菜单”等进行处理:

<extension 
     point="org.eclipse.ui.menus"> 
     <menuContribution 
      allPopups="false" 
      locationURI="popup:cn.ggfan.dmp.view.explorer"> 
     <menu 
       id="cn.ggfan.new" 
       label="New"> 
      <command 
        commandId="cn.ggfan.dmp.commands.addCP" 
        label="Connection Profile" 
        style="push"> 
      </command> 
     </menu> 
     </menuContribution> 
     <menuContribution 
      allPopups="false" 
      locationURI="popup:cn.ggfan.new?after=additions"> 
     <command 
       commandId="cn.ggfan.dmp.commands.addTable" 
       label="Table" 
       style="push"> 
     </command> 
     </menuContribution> 
    </extension> 
+0

是的...我应该认为你有两个不同的使用相同的ID - 新' – 2013-04-12 17:20:10

+0

完美答案! – 2017-09-14 13:13:10

1

尝试用menu:cn.ggfan.dmp.view.explorer,而不是popup:cn.ggfan.dmp.view.explorer

Working with the menus extension point - 博客条目我差不多6年前写的:-)

+0

谢谢! @Tonny,但它仍然没有工作。我希望“新”条目出现在上下文菜单中(右键单击菜单)。我不能访问您的博客,因为它是由我们国家防火墙blobced :( – CaiNiaoCoder 2013-04-12 10:56:35

+0

我已更新我的问题,请参阅我的编辑 – CaiNiaoCoder 2013-04-12 11:05:46