如何贡献上下文菜单的子菜单?

时间:2013-04-11 15:56:08

标签: eclipse eclipse-plugin eclipse-rcp

我正在尝试在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

2 个答案:

答案 0 :(得分:4)

最后,我明白了,我的“新”子菜单应被视为“菜单”以外的“弹出窗口”:

<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>

答案 1 :(得分:1)

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

请参阅Working with the menus extension point - 我差不多6年前撰写的博客文章: - )