How to get cursor position in an eclipse TextEditor

前端 未结 1 558
暗喜
暗喜 2020-12-06 12:22

I have been trying to get the line number and column number of the cursor position in a jface TextEditor. I tried the function getCursorPosition(). But on printing this it s

相关标签:
1条回答
  • From a TextEditor, you can get the document, document provider, and selection. That will give you access to the current cursor offset.

    ITextEditor editor = (ITextEditor) editorPart
            .getAdapter(ITextEditor.class);
    IDocumentProvider provider = editor.getDocumentProvider();
    IDocument document = provider.getDocument(editorPart
            .getEditorInput());
    ITextSelection textSelection = (ITextSelection) editorPart
            .getSite().getSelectionProvider().getSelection();
    int offset = textSelection.getOffset();
    int lineNumber = document.getLineOfOffset(offset);
    

    IDocument provides other methods to get the starts of lines (you can calculate the column from that).

    For more information see http://wiki.eclipse.org/The_Official_Eclipse_FAQs#Text_Editors

    0 讨论(0)
提交回复
热议问题