我写了一个 IEditorActionDelegate 从 CompilationUnitEditor 的上下文菜单中触发。从那里我想在所选文本的起始行创建一个标记。我有一个 ITextSelection 和一个 IEditorPart 对象。如何从那些获取 IResource 以便调用 resource.createMarker()?
谢谢
我写了一个 IEditorActionDelegate 从 CompilationUnitEditor 的上下文菜单中触发。从那里我想在所选文本的起始行创建一个标记。我有一个 ITextSelection 和一个 IEditorPart 对象。如何从那些获取 IResource 以便调用 resource.createMarker()?
谢谢
也许你可以看看 Eclipse 如何在它的org.eclipse.jdt.internal.ui.javaeditor.EditorUtility
类中做类似的事情。
您可以看到(第 222 行及以下)它:
final IEditorInput input= editor.getEditorInput();
marker= ((IFileEditorInput)input).getFile().createMarker(IMarker.TEXT);
marker.setAttribute(IMarker.CHAR_START, offset);
marker.setAttribute(IMarker.CHAR_END, offset + length);
你应该能够从你offset
的.length
TextSelection