Eclipse plugin 如何在插件中获取java编辑器的当前标记

Eclipse plugin 如何在插件中获取java编辑器的当前标记,eclipse-plugin,editor,token,Eclipse Plugin,Editor,Token,在Eclipse插件的java编辑器中,如何以编程方式获取当前标记(其上有插入符号)?例如,如果插入符号放在字符串的一个字符上(比如“text here”),我希望在eclipse插件中获得“text here”作为值。有API吗?我找到了一个突出显示选择的示例,但找不到一个仅通过插入符号偏移量计算当前标记的示例。您可以使用 IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePag

在Eclipse插件的java编辑器中,如何以编程方式获取当前标记(其上有插入符号)?例如,如果插入符号放在字符串的一个字符上(比如“text here”),我希望在eclipse插件中获得“text here”作为值。有API吗?我找到了一个突出显示选择的示例,但找不到一个仅通过插入符号偏移量计算当前标记的示例。

您可以使用

IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
以获取当前活动编辑器

然后执行(检查editorpart是否为ITextEditor后)

要获取偏移量和行号,可以使用此信息从文档中解析出相关的文本/标记。即使未选择任何文本(即插入符号位置),这也将起作用

IDocumentProvider provider = ((ITextEditor) editor).getDocumentProvider();
IDocument document = provider.getDocument(((ITextEditor) editor).getEditorInput());
ITextSelection textSelection = (ITextSelection) ((ITextEditor) editor).getSite().getSelectionProvider().getSelection();

int offset = textSelection.getOffset();
int lineNumber = document.getLineOfOffset(offset);