/*
* Creates a Marker
*/
public static IMarker createMarker(IResource res, Position position,String msgInfo)throws CoreException {
IMarker marker = null;
//note: you use the id that is defined in your plugin.xml
marker = res.createMarker(Utils.MARKER_ID);
marker.setAttribute(IMarker.MESSAGE, msgInfo);
//compute and set char start and char end
int start = position.getOffset();
int end = position.getOffset() + position.getLength();
System.out.println("标注创建时createMarker start == "+start+" end == "+end);
marker.setAttribute(IMarker.CHAR_START, start);
marker.setAttribute(IMarker.CHAR_END, end);
// marker.setAttribute(IMarker.PRIORITY, IMarker.PRIORITY_NORMAL);
// marker.setAttribute(IMarker.SEVERITY, IMarker.SEVERITY_WARNING);
return marker;
}
/**
* 删除对应的Marker标志
* @param editorPart
*/
private void removeMarker(IEditorPart editorPart) {
try {
int depth = IResource.DEPTH_INFINITE;
IFile file = (IFile) editorPart.getEditorInput().getAdapter(IFile.class);
IMarker[] markers = file.findMarkers(Utils.MARKER_ID, true, depth);
// file.deleteMarkers(MARKER, true, depth);
if(null == markers || markers.length<=0) {
return;