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