0

在不依赖任何外部验证的情况下,我只想调用一个 IAction(比如从文件上的右键菜单选项中)并创建一个 ProblemMarker。我只会在 IAction 中拥有自己的验证逻辑,它会验证文件输入并将此 ProblemMarker 添加到具有给定自定义消息的给定位置。它也可以删除所有标记。我假设如果你可以添加一个标记,你也可以删除一个。

4

1 回答 1

0

为了创建新标记,您需要标记的资源和位置。这是一个如何创建标记的示例。 res.createMarker("markerId");创建具有给定 id 的标记。您可以使用扩展点创建自定义标记或使用定义的 from 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);
}
于 2013-03-04T17:16:26.947 回答