Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/336.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java eclipse-如何在文件菜单中删除交换机工作区-_Java_Eclipse_Eclipse Plugin - Fatal编程技术网

Java eclipse-如何在文件菜单中删除交换机工作区-

Java eclipse-如何在文件菜单中删除交换机工作区-,java,eclipse,eclipse-plugin,Java,Eclipse,Eclipse Plugin,当我的应用程序加载时,我不希望“文件”菜单中有“切换工作区”选项,我正在尝试使用hideActionSet()方法,但到目前为止,我无法找到应该在其中写入哪个插件,以便它隐藏“切换工作区”选项 转到窗口>透视图>自定义透视图 选择“菜单可见性”选项卡 展开文件 取消选中开关工作区 您可以将其保存为带有名称标记的新透视图- 窗口>透视图>将透视图另存为…以下方法可以解决此问题: for (int i = 0; i < menuManager.getItems().length; i++) {

当我的应用程序加载时,我不希望“文件”菜单中有“切换工作区”选项,我正在尝试使用hideActionSet()方法,但到目前为止,我无法找到应该在其中写入哪个插件,以便它隐藏“切换工作区”选项

  • 转到窗口>透视图>自定义透视图
  • 选择“菜单可见性”选项卡
  • 展开文件
  • 取消选中开关工作区
  • 您可以将其保存为带有名称标记的新透视图-


    窗口>透视图>将透视图另存为…

    以下方法可以解决此问题:

    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中的信息。我不确定如何禁用此功能。