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

时间:2015-11-03 01:16:40

标签: eclipse-plugin editor token

如何以编程方式获取Eclipse插件中java编辑器中有插入符号的当前标记?例如,如果将插入符号放在字符串中的一个字符上(例如,"文本在这里")我想在此处获取文本'作为eclipse插件中的值。那有API吗?我找到了一个示例来获得突出显示的选择,但找不到只通过插入符的偏移来计算当前令牌的示例。

1 个答案:

答案 0 :(得分:1)

您可以使用

IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();

获取当前的活动编辑器。

然后执行(在检查编辑部分是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);

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