如何提供上下文菜单的子菜单?
我想在一个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>
终于,我得到了它,我的“新”子菜单应为“弹出”不是一个“菜单”等进行处理:
<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>
尝试用menu:cn.ggfan.dmp.view.explorer
,而不是popup:cn.ggfan.dmp.view.explorer
。
见Working with the menus extension point - 博客条目我差不多6年前写的:-)
谢谢! @Tonny,但它仍然没有工作。我希望“新”条目出现在上下文菜单中(右键单击菜单)。我不能访问您的博客,因为它是由我们国家防火墙blobced :( – CaiNiaoCoder 2013-04-12 10:56:35
我已更新我的问题,请参阅我的编辑 – CaiNiaoCoder 2013-04-12 11:05:46
是的...我应该认为你有两个不同的使用相同的ID - 新' – 2013-04-12 17:20:10
完美答案! – 2017-09-14 13:13:10