2014-02-11 93 views
2

我試圖爲我的Eclipse RCP應用程序實現一個稍微定製的XML編輯器。該編輯器擴展了TextEditor類並且工作得很好。除了它將很多東西放到上下文(右鍵單擊)彈出式菜單中,我並不需要。我發現,我需要覆蓋editorContextMenuAboutToShow功能:Eclipse RCP文本編輯器 - 隱藏上下文菜單元素

@Override 
public void editorContextMenuAboutToShow(IMenuManager menu) { 
    menu.removeAll(); 
} 

這工作,只是我還是有我的上下文菜單,即調試方式,運行方式,驗證,團隊菜單精細,比較等。菜單及其子菜單。

我不確定還有什麼要做,這是非常煩人的,因爲我不希望用戶訪問這些功能。我想感謝所有幫助

謝謝

+0

額外的項目是因爲'AbstractTextEditor'調用'IEditorSite.registerContextMenu'註冊允許其他插件添加到菜單的上下文菜單。我看不到明顯的方法來阻止這一點。 –

+0

謝謝Greg的幫助!看來我們需要實現我們自己的AbstractTextEditor,然後如果我們想要覆蓋這些。 – breakline

+0

在Eclipse 3.x上是這樣嗎?然後這篇文章可能會幫助你:http://stackoverflow.com/questions/3482312/is-it-possible-to-hide-remove-arbitrary-context-menu-items-in-eclipse-3-6 – Calon

回答

0

我猜活動Context菜單工作。

我能夠刪除所有上下文菜單,但通過添加下面一行代碼editorContextMenuAboutToShow()方法除「Github上」 - 菜單:

ObjectActionContributorManager.getManager().unregisterAllContributors();