如何在自定义视图中对自定义标记进行分组?

时间:2011-04-06 20:21:17

标签: view eclipse-plugin grouping markers

我正在创建一个eclipse插件,它通过应用一些特定的规则来验证XML和XSL代码,并在自定义视图中生成一些自定义错误标记(例如:错误,警告,信息) (称为 PCC Markers )。

我创建了这样的标记:

marker = resource.createMarker("pccplug.myMarker");
        marker.setAttribute(IMarker.MESSAGE, message);
        marker.setAttribute(IMarker.LINE_NUMBER, line);
        marker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_ERROR);

这是我的plugin.xml:

<extension point="org.eclipse.ui.ide.markerSupport">
   <markerField class="pccplug.views.Recommendations" id="champRecommendations"
          name="Recommendations" /> 
   <markerContentGenerator id="pccplug.views.myCustomMarkerGenerator" 
          name="My Marker Generator">
     <markerTypeReference id="pccplug.coolMarker" /> 
     <markerFieldReference id="org.eclipse.ui.ide.severityAndDescriptionField"/> 
     <markerFieldReference id="org.eclipse.ui.ide.resourceField" /> 
     <markerFieldReference id="org.eclipse.ui.ide.pathField" /> 
     <markerFieldReference id="org.eclipse.ui.ide.locationField" /> 
     <markerFieldReference id="org.eclipse.ui.ide.markerType" /> 
     <markerFieldReference id="org.eclipse.ui.ide.priorityField" /> 
     <markerFieldReference id="champRecommendations" /> 
   </markerContentGenerator>
</extension>

我的问题是所有错误都没有分组,它们都是一个接一个: My current output

我希望按类别对其进行分组(例如:严重性或优先级),因为在问题视图中已经是这种情况:My desired output

我如何创建这些标记组(我几乎尝试了每个MarkerField,Type,Group,但我无法做到)?

有没有人知道如何做到这一点?

1 个答案:

答案 0 :(得分:2)

您当前的输出和所需的输出是相同的,所以我猜你已经达到了你所需要的; - )

您必须在markerContentGenerator中指定defaultMarkerGrouping。如:

    <extension point="org.eclipse.ui.ide.markerSupport">
       <markerContentGenerator id="pccplug.views.myCustomMarkerGenerator" 
              defaultMarkerGrouping="org.eclipse.ui.ide.severity"
              name="My Marker Generator">

... others here ...
       </markerContentGenerator>
    </extension>