2011-04-06 96 views
2

我创建一个Eclipse插件,通过应用一些特定的规则验证XML和XSL代码,并产生一些自定义错误标记(例如:错误,警告,信息)自定义视图(称为PCC标记 )。如何在自定义视图中对自定义标记进行分组?

创建我的标志是这样的:

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

我希望按类别分组(如:SEVERITY或PRIORITY),因为它已经是问题中的情况查看:My desired output

如何创建这些标记组(我尝试了几乎所有的MarkerField,Type,Group,但我无法做到这一点)?

有没有人有任何想法如何做到这一点?

回答

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> 
+0

感谢您的回答!对不起,我首先放置了图像,但我没有权利展示它们,所以我放了链接,但似乎我没有做到第一个:)我刚编辑它。我试过你说的,我很确定这是我正在寻找的,但它不工作,我仍然不知道为什么 – Astyan 2011-04-07 07:33:58

+1

它应该工作。如果没有,那么它听起来像一个错误。如果你可以用一个示例插件重现,我会建议你提出一个错误:http://bit.ly/NewBugInPlatformUI我会研究它 – 2011-04-08 06:01:08

+0

我照你说的做了,并在一个示例插件中转载它,但我注意到有些奇怪:它在我改变自定义标记视图by letting an empty string in the super() invocation时似乎正在工作。 – Astyan 2011-04-08 11:49:25

相关问题