Eclipse PDE - 标记注释类型 - 背景颜色未更新

时间:2009-02-05 14:16:27

标签: eclipse

我是学生,作为年度项目的一部分,我正在开发eclipse插件 我遇到了一个奇怪的问题,并试图将其修复2天:

我在plugin.xml中添加了3种新类型的标记 对于我添加annotationTypes的每个标记,对于每annotationType我添加了markerAnnotationSpecification 我的目的是为背景线着色 在每个markerAnnotationSpecification我都添加了不同的图标和不同的colorPreferenceValue

奇怪的是这个:
创建标记时,一切都很好,甚至显示图标(每个标记的图标不同),但每条标记的线条背景颜色相同。
我注意到每次都会进行最后一次markerAnnotationSpecification colorPreferenceValue 当我更改markerAnnotationSpecificationplugin.xml的顺序时,颜色更改为最后一个。

我不知道该怎么办?

此外,我进入首选项页面并更改了注释类型颜色 - 应用后我看到它将3注释类型颜色更新为相同颜色。
我不能添加更多(我不这么认为......)
我可以通过编程方式控制markerAnnotationSpecification.colorPreferenceValue吗?如果是这样,怎么样?

我正在添加我的代码 - 也许你会看到我没看到的内容:

  <extension id="BatonPassing.diff_marker_b"
              name="SiteBDiffMarker"
              point="org.eclipse.core.resources.markers">
      <super type="org.eclipse.core.resources.textmarker"/>
      <persistent value="true"/>
 </extension>

 <extension
         point="org.eclipse.ui.editors.annotationTypes">
         <type
             name="diffAnnotationB"
             super="org.eclipse.ui.workbench.texteditor.info"
             markerType="BatonPassing.diff_marker_b">
             <!--markerSeverity="0"-->
         </type>
   </extension>

   <extension
         point="org.eclipse.ui.editors.markerAnnotationSpecification">
         <specification
             icon = "icons/il.gif"
             annotationType="diffAnnotationB"
             verticalRulerPreferenceKey="highlight.rulers.vertical"
             textPreferenceKey="highlight.text"
            colorPreferenceKey="highlight.color"
            highlightPreferenceKey="highlight.background"
            textPreferenceValue="true"
            textStylePreferenceValue="BOX"
            overviewRulerPreferenceKey="highlight.rulers.overview"
            presentationLayer="4"
            highlightPreferenceValue="true"
            label="DiffSiteB"
            symbolicIcon="warning"
            colorPreferenceValue="255,0,0"
            verticalRulerPreferenceValue="true"
            overviewRulerPreferenceValue="true"
            textStylePreferenceKey="highlight.text.style" >
        </specification >
    </extension>

每个标记代码都相同,但ID,名称colorPreferenceValue不是。

请帮帮我。非常感谢你 哈达

3 个答案:

答案 0 :(得分:2)

对于每个markerAnnotation规范,colorPreferenceKey应该是唯一的。这应该可以解决你的问题。

答案 1 :(得分:1)

如果有人仍在努力解决这个问题。您需要将presentationLayer属性更改为specification下每个markerAnnotationSpecification的单独属性。最好是使最高优先级的注释得到最小的数字,即1,其余的从那里得到增量数字。

答案 2 :(得分:0)

在插件的Java代码中创建它们时,您确定要指定不同的标记ID类型字符串吗?只是一个健全检查...