eclipse插件开发中删除掉eclipse中原有的菜单

在前一个项目中用到了插件开发,其中有一个任务就是要去除掉eclipse中原有的一些菜单项或者菜单栏,当时刚开始接触插件,苦闷了很久。经过一段时间的学习,发现了menumanager这个类,这个问题终于解决了。啥都不说了 贴个代码:


/**
* 删除菜单
*
* @param win
*/
public void delMenuItems(WorkbenchWindow win) {

MenuManager manager = win.getMenuBarManager();
//在这里删除的是菜单栏 在这里测试删除掉 edit (编辑)
manager.remove("edit");

// 在这里删除掉File菜单栏下的一些菜单项  我们先获取File的menumanager
IMenuManager menuManager = manager.findMenuUsingPath("file");
if (menuManager != null) {
//删除File菜单栏下面的导入和导出
menuManager.remove("import");
menuManager.remove("export");

menuManager.update(true);
}

//最后需要更新一下menumanger
manager.update(true);
}


我们可以在eclipse启动的时候监听workbench启动后执行该方法即可。对于RCP程序,那就更简单了,在ApplicationWorkbenchWindowAdvisor类中的postWindowOpen方法中调用该删除菜单的方法即可。

你可能感兴趣的:(eclipse)