I am trying to add a submenu entry to an item from the context menu of the Eclipse Package Explorer.
The menu entry is already defined via org.eclipse.ui.popupMenus in another plugin, not in the one that I am working at. (That plugin is added to the dependencies list of my plugin). There are also items added in its submenu, but also using org.eclipse.ui.popupMenus, and I am trying to do this via org.eclipse.ui.menus.
To begin with, I did the following:
This adds the item in any context menu... So I would have to replace "org.eclipse.ui.popup.any?after=additions" from the locationURI with the id of the submenu I want my item to appear in.
My problem is: how to determine a correct locationURI? I used the menu spy (ALT+SHIFT+F2) and inspected the submenu I want to contribute to, and I received the following URI:
menu:YYY?after=ZZZ, where:
YYY is the id of the menu that is already defined and to which I want to add the submenu item ZZZ is the id of the action from the submenu, that I clicked upon (using the spy)
I tryied the following, but the submenu item does not appear:
Please help :)
I managed to make it work by defining a new menu contribution and a menu having the same id and label as the menu already defined. The final solution looks like this:
<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>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With