我想从我的 RCP 应用程序中删除文件、编辑、源代码、重构等菜单
我可以使用 hideActionSet()
吗?或者我应该怎么做?
最佳答案
没错;在您的 ApplicationWorkbenchWindowAdvisor 中,覆盖 postWindowOpen()。
棘手的一点通常是弄清楚要删除的操作集的名称,但您可以使用旧的备用 ALT-SHIFT-F2(“插件菜单 spy ”的默认键绑定(bind))并单击一个要删除的菜单项。
请注意,如果菜单项被禁用, spy 将不会向您提供有关它的任何信息。
public void postWindowOpen() {
runApplicationWorkbenchDelegate();
// 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) {
// hide generic 'File' commands
page.hideActionSet("org.eclipse.ui.actionSet.openFiles");
// hide 'Convert Line Delimiters To...'
page.hideActionSet("org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo");
// hide 'Search' commands
page.hideActionSet("org.eclipse.search.searchActionSet");
// hide 'Annotation' commands
page.hideActionSet("org.eclipse.ui.edit.text.actionSet.annotationNavigation");
// hide 'Forward/Back' type navigation commands
page.hideActionSet("org.eclipse.ui.edit.text.actionSet.navigation");
}
}
}
关于eclipse-rcp - 从 Eclipse RCP 应用程序中删除 "File, edit,...etc"菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11774138/