我已在Eclipse RCP应用程序中创建了菜单贡献作为扩展名(org.eclipse.ui.menus
)。此菜单贡献的项目作为带有处理程序的命令。我希望这些处理程序不仅适用于项目(命令),还适用于包含其项目的菜单(例如“文件”,“编辑”......)。
菜单可以在plugin.xml
中包含字段“commandID”。我尝试使用此ID创建带有Handler扩展AbstractHandler的命令,但它不起作用。
答案 0 :(得分:1)
菜单可以使用commandIds,以便显示键快捷键。那部分只是一个显示方便。在幕后还有工作可以让菜单自动弹出。
了解如何在 org.eclipse.ui.ide 插件中定义和使用命令org.eclipse.ui.navigate.showInQuickMenu
。
org.eclipse.ui.internal.ide.WorkbenchActionBuilder
中还有一些支持代码:
String showInQuickMenuId = IWorkbenchCommandConstants.NAVIGATE_SHOW_IN_QUICK_MENU;
showInQuickMenu = new QuickMenuAction(showInQuickMenuId) {
protected void fillMenu(IMenuManager menu) {
menu.add(ContributionItemFactory.VIEWS_SHOW_IN
.create(window));
}
};
register(showInQuickMenu);