Eclipse - Mylyn窗口修剪活动任务多次显示

时间:2015-01-26 10:56:57

标签: eclipse mylyn

我找到了一个解决方案,但我会发布这个问题,以防其他人(或将来的我)遇到这个问题,因为我花了很长时间才找到解决方案,希望我可以拯救其他人时间。

在Eclipse中,Mylyn插件允许当前活动的任务显示在窗口修剪上。 我有一个问题,有时这个窗口修剪项目会多次显示。 我想可能是在Eclipse崩溃之后。

我花了一段时间才找到解决方案但是在你的Eclipse工作区目录中,如果你去了 /.metadata/.plugins/org.eclipse.e4.workbench/您将找到工作台配置文件workbench.xmi

备份此文件,以防出现任何问题。

搜索字符串org.eclipse.mylyn.tasks.ui.trim.dropdown 它应该位于<trimBars>元素中的某个位置。

您应该会看到三个已多次复制的部分, 1:

<children xsi:type="menu:DirectMenuItem" xmi:id="_-m5l4KFYEeS9VLGCzhAhMQ" elementId="org.eclipse.mylyn.tasks.ui.trim.dropdown">
    <tags>Rendered</tags>
</children>

2:

<children xsi:type="menu:RenderedMenuItem" xmi:id="_-m5l8qFYEeS9VLGCzhAhMQ" elementId="org.eclipse.mylyn.tasks.ui.trim.dropdown"/>

3:

<children xsi:type="menu:ToolControl" xmi:id="_-m5mCqFYEeS9VLGCzhAhMQ" elementId="org.eclipse.mylyn.tasks.ui.trim.control" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.menus.CompatibilityWorkbenchWindowControlContribution"> <persistedState key="IIdentifier" value="org.eclipse.mylyn.tasks.ui/org.eclipse.mylyn.tasks.ui.trim.control"/>
      <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_-m5mC6FYEeS9VLGCzhAhMQ" coreExpressionId="programmatic.value"/>
    </children>
    <children xsi:type="menu:HandledToolItem" xmi:id="_-m5mDKFYEeS9VLGCzhAhMQ" elementId="org.eclipse.mylyn.tasks.ui.trim" visible="false" iconURI="platform:/plugin/org.eclipse.mylyn.tasks.ui/icons/etool16/navigate-previous.gif" command="_-m7cDKFYEeS9VLGCzhAhMQ">
      <persistedState key="IIdentifier" value="org.eclipse.mylyn.tasks.ui/org.eclipse.mylyn.tasks.ui.trim"/>
      <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_-m5mDaFYEeS9VLGCzhAhMQ" coreExpressionId="programmatic.value"/>
      <menu xmi:id="_-m5mDqFYEeS9VLGCzhAhMQ" elementId="org.eclipse.mylyn.tasks.ui.trim"/>
    </children>

删除所有重复项并重新启动Eclipse,应修复重复的修剪条任务显示。

2 个答案:

答案 0 :(得分:4)

您还可以按照此eclipse bug comment here中的说明执行以下操作 - 保存透视图后,使用...建立一个新的工作区窗口。

  1. 窗口&gt;新窗口
  2. 关闭旧窗口
  3. 文件&gt;重新启动

答案 1 :(得分:2)

这已经困扰了我很久了! OP为问题添加的解决方案对我来说没有用,但它确实激励我使用workbench.xmi文件。以下解决方案最终在Eclipse Mars中为我工作:

  1. 在Mylyn的Eclipse Preferences窗格中,在“Tasks”下,取消“在窗口修剪上显示活动任务”
  2. 正常关闭Eclipse
  3. 在文本编辑器中打开.metadata/.plugins/org.eclipse.e4.workbench/workbench.xmi,找到描述包含不需要的Mylyn任务窗口小部件<trimBars>项的修剪的<children>元素(我的elementId org.eclipse.mylyn.tasks.ui.trim.container } <children>;我正在使用Mylyn Tasks 3.16.0.v20150609-0543)
  4. 删除描述任务小部件的整个 <children xsi:type="menu:ToolBar" xmi:id="_d-lsazctEeW6RMhi_xmN_Q" elementId="org.eclipse.mylyn.tasks.ui.trim.container"> <tags>Draggable</tags> <children xsi:type="menu:HandledToolItem" xmi:id="_d-lsbDctEeW6RMhi_xmN_Q" elementId="org.eclipse.mylyn.tasks.ui.trim" iconURI="platform:/plugin/org.eclipse.mylyn.tasks.ui/icons/etool16/navigate-previous.gif" command="_d-nkeTctEeW6RMhi_xmN_Q"> <persistedState key="IIdentifier" value="org.eclipse.mylyn.tasks.ui/org.eclipse.mylyn.tasks.ui.trim"/> <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_d-lsbTctEeW6RMhi_xmN_Q" coreExpressionId="programmatic.value"/> <menu xmi:id="_d-lsbjctEeW6RMhi_xmN_Q" elementId="org.eclipse.mylyn.tasks.ui.trim"/> </children> <children xsi:type="menu:ToolControl" xmi:id="_d-lsbzctEeW6RMhi_xmN_Q" elementId="org.eclipse.mylyn.tasks.ui.trim.control" contributionURI="bundleclass://org.eclipse.ui.workbench/org.eclipse.ui.internal.menus.CompatibilityWorkbenchWindowControlContribution"> <persistedState key="IIdentifier" value="org.eclipse.mylyn.tasks.ui/org.eclipse.mylyn.tasks.ui.trim.control"/> <visibleWhen xsi:type="ui:CoreExpression" xmi:id="_d-lscDctEeW6RMhi_xmN_Q" coreExpressionId="programmatic.value"/> </children> </children> 元素并保存文件
  5. 正常启动Eclipse
  6. 返回Mylyn的偏好设置面板,在“任务”中重新启用“在窗口修剪上显示活动任务”
  7. 重启Eclipse
  8. 以下是我最终删除的内容:

    {{1}}

    这可能比创建一个新窗口和关闭原始窗口更有效,但我发现许多小的事情(如列宽)没有被转移到新窗口。