如何有助于上下文菜单的子菜单?

xnam 发布于 2019-03-09 eclipse 最后更新 2019-03-09 14:33 3 浏览

我试图在视图的上下文菜单中定义一个子菜单项。 我想通过我自己的插件在这个子菜单中提供一个“连接配置文件”菜单项,我希望其他插件也可以为这个子菜单提供菜单项。 我的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
已邀请:

bquos

赞同来自:

尝试使用menu:cn.ggfan.dmp.view.explorer而不是popup:cn.ggfan.dmp.view.explorer。 请参阅Working with the menus extension point - 我差不多6年前撰写的博客文章:-)

dquia

赞同来自:

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

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