菜单的处理程序

时间:2011-06-02 09:07:21

标签: eclipse-plugin eclipse-rcp

我已在Eclipse RCP应用程序中创建了菜单贡献作为扩展名(org.eclipse.ui.menus)。此菜单贡献的项目作为带有处理程序的命令。我希望这些处理程序不仅适用于项目(命令),还适用于包含其项目的菜单(例如“文件”,“编辑”......)。

菜单可以在plugin.xml中包含字段“commandID”。我尝试使用此ID创建带有Handler扩展AbstractHandler的命令,但它不起作用。

1 个答案:

答案 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);