在不依赖任何外部验证的情况下,我想简单地调用一个IAction (比如从文件上的右键菜单选项)并创建一个ProblemMarker。我只需要在IAction中有自己的验证逻辑,它将验证文件输入,并将此ProblemMarker添加到具有给定自定义消息的给定位置。它还可以删除所有的标记。我想如果你可以添加一个标记,你也可以删除一个标记。
发布于 2013-03-05 01:16:27
为了创建一个新的标记,你需要资源和标记的位置。下面是一个如何创建标记的示例。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);
}https://stackoverflow.com/questions/15151248
复制相似问题