Java eclipse-如何在文件菜单中删除交换机工作区-
当我的应用程序加载时,我不希望“文件”菜单中有“切换工作区”选项,我正在尝试使用hideActionSet()方法,但到目前为止,我无法找到应该在其中写入哪个插件,以便它隐藏“切换工作区”选项Java eclipse-如何在文件菜单中删除交换机工作区-,java,eclipse,eclipse-plugin,Java,Eclipse,Eclipse Plugin,当我的应用程序加载时,我不希望“文件”菜单中有“切换工作区”选项,我正在尝试使用hideActionSet()方法,但到目前为止,我无法找到应该在其中写入哪个插件,以便它隐藏“切换工作区”选项 转到窗口>透视图>自定义透视图 选择“菜单可见性”选项卡 展开文件 取消选中开关工作区 您可以将其保存为带有名称标记的新透视图- 窗口>透视图>将透视图另存为…以下方法可以解决此问题: for (int i = 0; i < menuManager.getItems().length; i++) {
窗口>透视图>将透视图另存为…以下方法可以解决此问题:
for (int i = 0; i < menuManager.getItems().length; i++) {
IContributionItem item = menuManager.getItems()[i];
if (item instanceof MenuManager) {
hideSwitchWorkSpace((MenuManager) item);}
private void hideSwitchWorkSpace(MenuManager manager) {
if (manager.getMenuText() != null && manager.getId() != null
&& manager.getMenuText().equals("&File") && manager.getId().matches("file"))
{
for (int i = 0; i < manager.getItems().length; i++) {
IContributionItem item = manager.getItems()[i];
if (item.getId() != null
&&(item.getId().matches("openWorkspace"))) {
item.setVisible(false);
}
}
}
for(int i=0;i
我正在寻找更多可以从GUI中删除此选项的代码更改,应该是-org.eclipse.ui.actions.WorkspaceModifyOperation
。在这里查看完整列表-这是您正在构建的eclipse RCP吗?您可能可以在WorkbenchWindowAdvisor@greg-449是的,我正在使用,但需要插件的名称为switch Workspace我不明白您想要插件id是什么。hideActionSet
是IWorkbenchPage
接口的一种方法,您可以在不知道id的情况下获得它。据我所知,hideActionSet方法将actionSetID作为输入,它是插件id,以便隐藏交换机工作区,我需要它的actionSetIDSetId不是插件id,它是一个“操作集id”,这是一个单独的东西。在任何情况下,据我所知,Switch Workplace不在操作集中。它由org.eclipse.ui.ide插件定义,由org.eclipse.ui.internal.ide.WorkbenchActionBuilder
类使用org.eclipse.ui.ide.IDEActionFactory中的信息代码>。我不确定如何禁用此功能。