【问题标题】:Eclipse RCP text editor selection changedEclipse RCP 文本编辑器选择已更改
【发布时间】:2014-02-24 08:37:34
【问题描述】:

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

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

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

谢谢

【问题讨论】:

    标签: eclipse eclipse-plugin eclipse-rcp


    【解决方案1】:

    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();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多