2013-03-01 21 views
0

不依賴任何外部驗證,我想簡單地調用一個IAction(例如從文件上的右鍵菜單選項中)並創建一個ProblemMarker。我只需要在IAction內部有我自己的驗證邏輯,它驗證文件輸入並在給定的位置添加此ProblemMarker與給定的自定義消息。它也可以刪除所有標記。我假設你是否可以添加一個標記,你也可以刪除一個標記。如何在Eclipse RCP中添加任意ProblemMarker?

回答

0

爲了創建一個新的標記,你需要資源和標記的位置。以下是如何創建標記的示例。 res.createMarker("markerId");用給定的ID創建標記。您可以使用擴展點創建自定義標記或使用定義的eclipse。您可以在org.eclipse.core.resources.IMarker中找到定義的標記

protected static void createBasicMarker(final IResource res, Position pos) throws CoreException { 
    final IMarker marker = res.createMarker("markerId"); 
    annotation.setMarker(marker); 
    marker.setAttribute(IMarker.CHAR_START, position.getOffset()); 
    marker.setAttribute(IMarker.CHAR_END, position.getOffset() + position.getLength()); 
    marker.setAttribute(IMarker.SEVERITY, 1); 
marker.setAttribute(IMarker.PRIORITY, IMarker.PRIORITY_LOW); 
    setMarkerMessage(annotation, marker); 
} 
相關問題