2011-04-06 4 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

И я хотел бы, чтобы они были сгруппированы по категориям (например: БЕЗОПАСНОСТЬ ИЛИ ПРИОРИТЕТ), как это уже имеет место в Задачах Вид: My desired output

Как создать эти группы маркеров (я пробовал почти каждый MarkerField, Type, Group, но я не мог этого сделать)?

Есть ли у кого-нибудь идеи о том, как это сделать?

ответ

2

Ваш выходного тока и желаемый результат тот же, так что я думаю, вы добились того, что вам нужно уже ;-)

Вы должны указать defaultMarkerGrouping в вашем markerContentGenerator. Как в:

<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

+1

Он должен работать. Если этого не происходит, это звучит как ошибка. Если вы можете воспроизвести примерный плагин, я предлагаю вам поднять ошибку: http://bit.ly/NewBugInPlatformUI. Я рассмотрю его. –

+0

. Я сделал так, как сказал и воспроизвел его в образце плагина, но я заметил что-то странное: похоже, что я работаю, когда меняю свой собственный вид маркера, by letting an empty string in the super() invocation. – Astyan

Смежные вопросы