为了访问CompilationUnitEditor中选定的代码,我正在编写一个插件。因此我添加了一个贡献到上下文菜单,并使用以下代码:
public class ContextMenuHandler implements IEditorActionDelegate {
private IEditorPart editorPart;
@Override
public void setActiveEditor(IAction action, IEditorPart editorPart) {
this.editorPart = editorPart;
}
@Override
public void run(IAction action) {
JavaUI.getEditorInputJavaElement(editorPart.getEditorInput());
}
@Override
public void selectionChanged(IAction action, ISelection selection) {
if (selection instanceof TextSelection) {
TextSelection text = (TextSelection) selection;
System.out.println("Text: " + text.getText());
} else {
System.out.println(selection);
}
}
}
现在的问题是,当我真正选择某些内容以便复制/粘贴时,方法selectionChanged(...)才会被调用。但我想访问像这样高亮显示的Code元素(这里我想获取"IEditorPart")
不幸的是,我不知道应该寻找什么。