我写了一个IEditorActionDelegate来从CompilationUnitEditor上下文菜单中触发。从那里我想在所选文本的起始行创建一个标记。我有一个ITextSelection和一个IEditorPart对象。如何从这些中获取IResource,以便我可以调用resource.createMarker()?
由于
答案 0 :(得分:1)
您可以看看Eclipse如何在其org.eclipse.jdt.internal.ui.javaeditor.EditorUtility
类中执行类似操作。
你可以看到它(line 222 and following):
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
推断。