enter image description here在我的Eclipse RCP应用程序中,我在菜单栏中自动获得“运行”选项。没有写任何代码。所以,我想删除它。
默认情况下也会获取搜索菜单。这个应用程序没问题。但是,我手动创建的菜单项如(文件,编辑器),这些项目和搜索菜单项目的距离不一样。请在eclipse RCP中帮助我克服距离上的manu项目。
答案 0 :(得分:0)
只需将此代码粘贴到ApplicationWorkbenchWindowAdvisor.java类中。
public void postWindowOpen() {
// remove unwanted UI contributions that eclipse makes by default
IWorkbenchWindow[] windows = PlatformUI.getWorkbench ().getWorkbenchWindows();
for (int i = 0; i < windows.length; ++i) {
IWorkbenchPage page = windows[i].getActivePage();
if (page != null) {
WorkbenchWindow workbenchWin = (WorkbenchWindow)PlatformUI.getWorkbench().getActiveWorkbenchWindow();
MenuManager menuManager = workbenchWin.getMenuManager();
IContributionItem[] items = menuManager.getItems();
for(IContributionItem item : items) {
if(item.getId().equals("org.eclipse.ui.run")){
item.setVisible(false);
}
}
// hide 'Search' commands
page.hideActionSet("org.eclipse.search.searchActionSet");
}
}
}
答案 1 :(得分:0)
我建议使用插件间谍功能。 Alt+shift+F1
,Alt+shift+F2
。
您可以先在开发环境中使用,也可以在rcp上使用插件间谍。只需将org.eclipse.pde.runtime
插件添加到您的rcp。
你可以找出你的rcp上哪个插件贡献菜单项,如果你认为不需要插件,你可以从你的rcp中删除该插件。
答案 2 :(得分:0)
要删除菜单中的所有默认选项,您需要在ApplicationWorkbenchWindowAdvisor.java类中添加以下代码。
@Override
public void postWindowOpen() {
IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
IContributionItem[] items = ((WorkbenchWindow)workbenchWindow).getMenuBarManager().getItems();
for (IContributionItem item : items) {
item.setVisible(false);
}
}