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

14

我不知道是怎么回事,但我的STS出现了重复的工具栏项目,我不确定该如何删除它们。以下是我的重复工具栏的样子。

enter image description here

我想把这些去掉,我试图隐藏工具栏但没有帮助。请问有人知道如何去掉重复的?

5个回答

22

自从升级到 Oxygen,我一直遇到同样的问题,但我无法可靠地复现这个问题。

@howlger 建议的解决方法有所帮助,而且比完全清除工作区要少侵入性:

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

这很麻烦,但确实可以从工具栏中移除重复元素。

我还发现自定义透视图对于重复的项目无效,但对于非重复的项目有效:

  1. 窗口 -> 透视图 -> 自定义透视图...
  2. 在“工具栏可见性”选项卡上,取消选择混乱你的工具栏的项目。

1
我在Eclipse Oxygen上也遇到了这个问题。感谢您的提示,解决得非常好。 - cilap
1
这是唯一对我有效的方法...曾经这些重复的图标占据了我屏幕的一半,但这个方法完美解决了问题。 - HopeKing

6
这似乎是Eclipse核心平台的问题。尽管截图显示了漂亮的图标,但目前看来与Howlger所说的Darkest Dark插件无关。相反,似乎在workbench.xmi文件中出现了重复的贡献条目。在我们的测试中(我为Darkest Dark做出了贡献),我们可以看到这些条目发生在独立的Eclipse中,但还没有找到根本原因,即条目何时再次添加到workbench.xmi中。有趣的是,一个用户在旧的Eclipse bug上发布了一个截图,今天展示了同样的问题。

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

来自Eclipse Bug的屏幕截图


我也遇到了4.7.0版本相同的问题,并且没有安装Darkest Dark主题。但是我注意到,当我将笔记本电脑从一个地方(例如从工作带回家,反之亦然)转移时,有些图标会再次重复出现一次,因此可能与某些随地点变化的因素有关,例如IP地址(我不这样认为),连接的显示器数量/型号等。 - ibai

3
看起来你已经安装了Darkest Dark Theme插件。尝试卸载它。
这个闭源插件会进行加载时织入,以修补Eclipse平台的Java字节码(出于法律原因,不必发布更改)。与使用公共API不同,加载时织入补丁必须为每个(新的)Eclipse版本进行适应:插件中的错误可能会导致Eclipse平台出现奇怪的行为。
另请参见:Eclipse Oxygen中的键盘快捷键停止工作

仅仅删除主题并在之后重置当前视图是没有帮助的。据我所知,只有创建一个新的工作空间才会有所帮助,但这取决于有多少内容已被定制,因此可能会很麻烦。 - Marcel
顺便说一下,我在氧化中遇到了同样的问题,即Eclipse用户存储图标有13个副本,非常烦人。其他图标都没有重复。 - Marcel
2
@ScriptKiddy 你所说的“仅删除”是指卸载还是禁用了该插件?请尝试删除工作空间文件 .metadata\.plugins\org.eclipse.e4.workbench\workbench.xmi 而不是创建新的工作空间。 - howlger
我所说的“deleting”指的是“卸载”。稍后尝试,感谢提供的信息。 - Marcel

3
我不知道为什么会出现这种情况,但我知道如何消除重复条目。我们的基于Eclipse的产品也遇到过同样的问题。 窗口 > 新建窗口 关闭旧窗口,摆脱拖累你的重复动作。

2
并非实际答案,更多的是额外信息,希望能帮助找到问题。我遇到了与版本: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。
  • 将其编辑为一个菜单:HandledToolItem child。
  • 启动eclipse。

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

注:Original Answer翻译成"最初的回答"

<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已经更新了。
约翰

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接