Community
Participate
Working Groups
I20100831-1001 We want to add a new menu contribution to the Navigate menu just below 'Open Super Implementation' action (bug 48880). The command is defined as <command categoryId="org.eclipse.ui.category.navigate" description="New command" id="org.eclipse.jdt.ui.command.NewCommand" name="New Command"> </command> and the menu contribution is <extension point="org.eclipse.ui.menus"> <menuContribution locationURI="menu:navigate?after=org.eclipse.jdt.ui.edit.text.java.open.super.implementation"> <command commandId="org.eclipse.jdt.ui.command.NewCommand" style="push"> </command> </menuContribution> </extension> Here the menu contribution does not work at all - the contribution is not even added to the menu. The command in the after clause - 'org.eclipse.jdt.ui.edit.text.java.open.super.implementation' - is added to the menu using an actionSet from o.e.jdt.ui. Platform should support to use the action IDs from the action set contribution in menuContribution.
I agree. The current situation makes it impossible to adopt the new story step by step: the whole menu group has to be converted and that's often not possible because the group itself is in another plug-in (as can be seen in bug 48880). Instead of having direct support for the command ID I could also live with a probably simpler to implement approach where I can specify the action ID used in the action set.
It is designed so that menuContributions cannot see legacy action extension points. i.e. Programmatic actions are applied, then menuContributions, then legacy action extensions. The legacy action extension couldn't interact gracefully with each other, never mind a new paradigm. The current "hybrid" story: The menus and separators used in actionSets can be defined in menuContributions, and then they can be seen from both other menuContributions and from actionSets. PW