我正在尝试在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>
答案 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年前撰写的博客文章: - )