2011-06-02 84 views
1

我已經在我的Eclipse RCP應用程序中創建了菜單貢獻作爲擴展名(org.eclipse.ui.menus)。這個菜單貢獻的項目是作爲處理程序的命令。我希望這些處理程序不僅用於項目(命令),而且還用於包含其項目的菜單(例如「文件」,「編輯」...)。菜單處理程序

菜單可以有一個字段「commandID」plugin.xml。我試圖用Handler擴展AbstractHandler來創建帶有這個ID的命令,但它不起作用。

回答

1

菜單可以使用commandIds,以便它們可以顯示快捷鍵。這部分只是一個顯示便利。幕後還有很多工作要做,讓菜單自動彈出。

看看命令org.eclipse.ui.navigate.showInQuickMenu是如何在org.eclipse.ui.ide插件中使用的。

它也有在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); 
+0

感謝您的回答! – 2011-06-07 08:47:49