Eclipse RCP文本编辑器选择已更改

时间:2014-02-24 08:37:34

标签: eclipse eclipse-plugin eclipse-rcp

我正在尝试根据 org.eclipse.ui.editors.text.TextEditor 将选择更改事件添加到文本编辑器。

我想获取所选文本的行和列(当用户选择/突出显示时)。

最简单的(如果有的话)实现这个目的的方法是什么?

谢谢

1 个答案:

答案 0 :(得分:2)

ITextViewer对象(或ISourceViewer扩展名)有一个getSelectedRange()方法,它返回一个Point,其中包含文档中的偏移量和所选范围的长度

IDocument对象有一个getLineOfOffset()方法,它返回包含偏移量的行。它还有getLineInformationOfOffset()返回有关该行的信息。

所以:

Point selected = textViewer.getSelectedRange();

int line = document.getLineOfOffset(selected.x);

IRegion lineRegion = document.getLineInformationOfOffset(selected.x);

int col = selected.x - lineRegion.getOffset();