我正在尝试从Eclipse Package Explorer的上下文菜单中为项添加子菜单。
菜单条目已经通过另一个插件中的org.eclipse.ui.popupMenus定义,而不是我正在使用的那个插件。 (该插件被添加到我的插件的依赖项列表中)。在子菜单中还添加了一些项目,但也使用了org.eclipse.ui.popupMenus,我试图通过org.eclipse.ui.menus进行此操作。
首先,我做了以下事情:
这会在任何上下文菜单中添加该项...所以我必须从locationURI替换“org.eclipse.ui.popup.any?after = additions”,并且我希望我的项目显示子菜单的id英寸
我的问题是:如何确定正确的locationURI? 我使用菜单间谍(ALT + SHIFT + F2)并检查了我想要贡献的子菜单,我收到了以下URI:
菜单:YYY?after = ZZZ,其中:
YYY是已经定义的菜单的ID,我想要添加子菜单项 ZZZ是子菜单中的动作的id,我点击了(使用间谍)
我尝试了以下操作,但未显示子菜单项:
请帮助:)
答案 0 :(得分:11)
我设法通过定义一个新的菜单贡献和一个与已经定义的菜单具有相同id和标签的菜单来使其工作。最终解决方案如下所示:
<extension point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu?after=additions">
<menu
id="YYY"
label="%YYYs_label">
</menu>
</menuContribution>
<menuContribution
locationURI="popup:YYY?after=additions">
<command
commandId="example.MyCommandHandlerID"
icon="icons/somePhoto.gif"
label="MyLabel"
style="push">
</command>
</menuContribution>
</extension>