我想以编程方式跳转到文本编辑器中的某个位置并突出显示代码。
答案 0 :(得分:5)
我无法让Andrew's answer在Eclipse 3.7中工作。编译器给出了这个错误:
The method getSourceViewer() from the type AbstractTextEditor is not visible.
但是,我能够使用selectAndReveal()
方法:
IFile myfile = ...
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
ITextEditor editor = (ITextEditor) IDE.openEditor(page, myfile);
editor.selectAndReveal(offset, length);
答案 1 :(得分:0)
如果您已有当前编辑器的句柄,则可以执行以下操作:
editor.getSourceViewer().setSelectedRange(offset, length);
如果你没有当前编辑器的句柄,那么你需要做一些工作来实现(假设一个文本编辑器):
TextEditor editor = (TextEditor) PlatformUI.getWorkbench().getActiveWorkbenchWindow()
.getActivePage().getActiveEditor();
虽然这会奏效,但我简化了一些事情。
TextEditor
,因此您将要进行测试实例