在 Eclipse 中隐藏重复的工具栏项目

Hiding Duplicate Toolbars Items in Eclipse

我不知道如何,但我的 STS 有重复的工具栏项目,我不确定如何删除它们。这是我复制的工具栏的样子。

我想摆脱这些。我试图隐藏工具栏,但这没有帮助。有人知道如何摆脱重复的吗?

看来您已经安装了Darkest Dark Theme插件。尝试卸载它。

此封闭源代码插件会加载时编织以修补 Eclipse 平台的 Java 字节码(出于法律原因,不必发布其更改)。与使用 public API 相比,加载时编织补丁必须适应每个(新)Eclipse 版本:插件中的错误可能导致 Eclipse 平台出现奇怪的行为。

另请参阅:

自升级到 Oxygen 后,我一直遇到同样的问题。我无法可靠地重现该问题。

@howlger 建议的解决方法有所帮助,并且比吹走整个工作区的干扰更小:

  1. 关闭 Eclipse。
  2. 在 Eclipse 工作区目录中,删除 .metadata\.plugins\org.eclipse.e4.workbench\workbench.xmi 文件或重命名它,以便在需要还原时可以将其恢复。
  3. 打开 Eclipse。
  4. 根据您的喜好重新排列 UI 个元素。

这很麻烦,但确实会从工具栏中删除重复的元素。

我还发现自定义视角不适用于重复项,但适用于非重复项:

  1. Window -> 透视 -> 自定义透视...
  2. 在 "Tool Bar Visibility" 选项卡上,取消选择使工具栏混乱的项目。

这似乎是核心 Eclipse 平台中的一个问题。虽然截图显示了 Darkest Dark 的漂亮图标,但正如 Howlger 所指出的那样,它目前似乎与 Darkest Dark 插件无关。相反,workbench.xmi 文件中似乎出现了重复的贡献条目。在我们的测试中(我为 Darkest Dark 做贡献),我们可以看到这些条目发生在独立的 Eclipse 中,尽管还无法找到根本原因,但条目再次添加到 workbench.xmi.

有趣的是,一位用户发布了一个旧的 Eclipse 错误,其中看起来像 Eclipse Classic 的屏幕截图,今天也出现了同样的问题。

https://bugs.eclipse.org/bugs/show_bug.cgi?id=402561

Screenshot from Eclipse Bug

不是实际答案,我希望提供更多附加信息以帮助查明问题。我对版本有同样的问题:2018-12 (4.10.0),构建:20181214-0600.

我打开了上面提到的workbench.xmi文件。这是我通过搜索 "Open a Terminal" 找到的部分,这是重复图标上的工具提示。

<children xsi:type="menu:ToolBar" xmi:id="_tODFlzriEem5AdcasuU54g" elementId="org.eclipse.tm.terminal.view.ui.toolbar">
  <tags>Draggable</tags>
  <children xsi:type="menu:HandledToolItem" xmi:id="_tODFmDriEem5AdcasuU54g" elementId="org.eclipse.tm.terminal.view.ui.commands.launchToolbar"
       iconURI="platform:/plugin/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view.png" tooltip="Open a Terminal" command="_tOOFADriEem5AdcasuU54g">
    <persistedState key="IIdentifier" value="org.eclipse.tm.terminal.view.ui/org.eclipse.tm.terminal.view.ui.commands.launchToolbar"/>
  </children>
  <children xsi:type="menu:HandledToolItem" xmi:id="_tODFmTriEem5AdcasuU54g" elementId="org.eclipse.tm.terminal.view.ui.commands.launchToolbar"
       iconURI="platform:/plugin/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view.png" tooltip="Open a Terminal" command="_tOOFADriEem5AdcasuU54g">
    <persistedState key="IIdentifier" value="org.eclipse.tm.terminal.view.ui/org.eclipse.tm.terminal.view.ui.commands.launchToolbar"/>
  </children>
  <children xsi:type="menu:HandledToolItem" xmi:id="_tODFmjriEem5AdcasuU54g" elementId="org.eclipse.tm.terminal.view.ui.commands.launchToolbar"
       iconURI="platform:/plugin/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view.png" tooltip="Open a Terminal" command="_tOOFADriEem5AdcasuU54g">
    <persistedState key="IIdentifier" value="org.eclipse.tm.terminal.view.ui/org.eclipse.tm.terminal.view.ui.commands.launchToolbar"/>
  </children>
  <children xsi:type="menu:HandledToolItem" xmi:id="_tODFmzriEem5AdcasuU54g" elementId="org.eclipse.tm.terminal.view.ui.commands.launchToolbar"
       iconURI="platform:/plugin/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view.png" tooltip="Open a Terminal" command="_tOOFADriEem5AdcasuU54g">
    <persistedState key="IIdentifier" value="org.eclipse.tm.terminal.view.ui/org.eclipse.tm.terminal.view.ui.commands.launchToolbar"/>
  </children>
  <children xsi:type="menu:HandledToolItem" xmi:id="_tODFnDriEem5AdcasuU54g" elementId="org.eclipse.tm.terminal.view.ui.commands.launchToolbar"
       iconURI="platform:/plugin/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view.png" tooltip="Open a Terminal" command="_tOOFADriEem5AdcasuU54g">
    <persistedState key="IIdentifier" value="org.eclipse.tm.terminal.view.ui/org.eclipse.tm.terminal.view.ui.commands.launchToolbar"/>
  </children>
  <children xsi:type="menu:HandledToolItem" xmi:id="_tODFnTriEem5AdcasuU54g" elementId="org.eclipse.tm.terminal.view.ui.commands.launchToolbar"
       iconURI="platform:/plugin/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view.png" tooltip="Open a Terminal" command="_tOOFADriEem5AdcasuU54g">
    <persistedState key="IIdentifier" value="org.eclipse.tm.terminal.view.ui/org.eclipse.tm.terminal.view.ui.commands.launchToolbar"/>
  </children>
  <children xsi:type="menu:HandledToolItem" xmi:id="_tODFnjriEem5AdcasuU54g" elementId="org.eclipse.tm.terminal.view.ui.commands.launchToolbar"
       iconURI="platform:/plugin/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view.png" tooltip="Open a Terminal" command="_tOOFADriEem5AdcasuU54g">
    <persistedState key="IIdentifier" value="org.eclipse.tm.terminal.view.ui/org.eclipse.tm.terminal.view.ui.commands.launchToolbar"/>
  </children>
  <children xsi:type="menu:HandledToolItem" xmi:id="_tODFnzriEem5AdcasuU54g" elementId="org.eclipse.tm.terminal.view.ui.commands.launchToolbar"
       iconURI="platform:/plugin/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view.png" tooltip="Open a Terminal" command="_tOOFADriEem5AdcasuU54g">
    <persistedState key="IIdentifier" value="org.eclipse.tm.terminal.view.ui/org.eclipse.tm.terminal.view.ui.commands.launchToolbar"/>
  </children>
</children>
  • 已停止 eclipse。
  • 将其编辑为一个 menu:HandledToolItem child。
  • 开始日食。

当我刷新时 workbench.xmi 我发现了这个(出现了两个图标):

<children xsi:type="menu:ToolBar" xmi:id="_FzpBgzrrEemLeYohrjtX4w" elementId="org.eclipse.tm.terminal.view.ui.toolbar">
  <tags>Draggable</tags>
  <children xsi:type="menu:HandledToolItem" xmi:id="_FzpBhDrrEemLeYohrjtX4w" elementId="org.eclipse.tm.terminal.view.ui.commands.launchToolbar"
       iconURI="platform:/plugin/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view.png" tooltip="Open a Terminal" command="_Fzw9IzrrEemLeYohrjtX4w">
    <persistedState key="IIdentifier" value="org.eclipse.tm.terminal.view.ui/org.eclipse.tm.terminal.view.ui.commands.launchToolbar"/>
  </children>
  <children xsi:type="menu:HandledToolItem" xmi:id="_FzpBhTrrEemLeYohrjtX4w" elementId="org.eclipse.tm.terminal.view.ui.commands.launchToolbar"
       iconURI="platform:/plugin/org.eclipse.tm.terminal.view.ui/icons/eview16/console_view.png" tooltip="Open a Terminal" command="_Fzw9IzrrEemLeYohrjtX4w">
    <persistedState key="IIdentifier" value="org.eclipse.tm.terminal.view.ui/org.eclipse.tm.terminal.view.ui.commands.launchToolbar"/>
  </children>
</children>

我还注意到 ID 已更新。

约翰

我不知道为什么会这样,但我知道如何删除重复的条目。我们在基于 Eclipse 的产品上遇到了同样的问题。

Window > 新建 Window

关闭旧的 window,摆脱拖累您的重复操作。