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

相關問題