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 shows just a "?". Please note that I need the line number and column number within an editor and not with respect to the screen. I saw that there is a function JTextArea.getCaretPosition. But I dont know how to convert a text editor to JTextArea. Also, is it possible to read the word where the cursor is placed?
Thanks
Press Ctrl + Shift + Insert or tick Smart Insert Mode on the Edit menu to switch back.
1) A cursor is the position indicator on a computer display screen where a user can enter text. In an operating system with a graphical user interface (GUI), the cursor is also a visible and moving pointer that the user controls with a mouse, touch pad, or similar input device.
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
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With