在 Eclipse 中隐藏重复的工具栏项目
Hiding Duplicate Toolbars Items in Eclipse
我不知道如何,但我的 STS 有重复的工具栏项目,我不确定如何删除它们。这是我复制的工具栏的样子。
我想摆脱这些。我试图隐藏工具栏,但这没有帮助。有人知道如何摆脱重复的吗?
看来您已经安装了Darkest Dark Theme插件。尝试卸载它。
此封闭源代码插件会加载时编织以修补 Eclipse 平台的 Java 字节码(出于法律原因,不必发布其更改)。与使用 public API 相比,加载时编织补丁必须适应每个(新)Eclipse 版本:插件中的错误可能导致 Eclipse 平台出现奇怪的行为。
另请参阅:
自升级到 Oxygen 后,我一直遇到同样的问题。我无法可靠地重现该问题。
@howlger 建议的解决方法有所帮助,并且比吹走整个工作区的干扰更小:
- 关闭 Eclipse。
- 在 Eclipse 工作区目录中,删除
.metadata\.plugins\org.eclipse.e4.workbench\workbench.xmi
文件或重命名它,以便在需要还原时可以将其恢复。
- 打开 Eclipse。
- 根据您的喜好重新排列 UI 个元素。
这很麻烦,但确实会从工具栏中删除重复的元素。
我还发现自定义视角不适用于重复项,但适用于非重复项:
- Window -> 透视 -> 自定义透视...
- 在 "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,摆脱拖累您的重复操作。
我不知道如何,但我的 STS 有重复的工具栏项目,我不确定如何删除它们。这是我复制的工具栏的样子。
我想摆脱这些。我试图隐藏工具栏,但这没有帮助。有人知道如何摆脱重复的吗?
看来您已经安装了Darkest Dark Theme插件。尝试卸载它。
此封闭源代码插件会加载时编织以修补 Eclipse 平台的 Java 字节码(出于法律原因,不必发布其更改)。与使用 public API 相比,加载时编织补丁必须适应每个(新)Eclipse 版本:插件中的错误可能导致 Eclipse 平台出现奇怪的行为。
另请参阅:
自升级到 Oxygen 后,我一直遇到同样的问题。我无法可靠地重现该问题。
@howlger 建议的解决方法有所帮助,并且比吹走整个工作区的干扰更小:
- 关闭 Eclipse。
- 在 Eclipse 工作区目录中,删除
.metadata\.plugins\org.eclipse.e4.workbench\workbench.xmi
文件或重命名它,以便在需要还原时可以将其恢复。 - 打开 Eclipse。
- 根据您的喜好重新排列 UI 个元素。
这很麻烦,但确实会从工具栏中删除重复的元素。
我还发现自定义视角不适用于重复项,但适用于非重复项:
- Window -> 透视 -> 自定义透视...
- 在 "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,摆脱拖累您的重复操作。