VS Code extension Api to get the Range of the whole text of a document?
This may not be robust, but I've been using this:
var firstLine = textEditor.document.lineAt(0);var lastLine = textEditor.document.lineAt(textEditor.document.lineCount - 1);var textRange = new vscode.Range(firstLine.range.start, lastLine.range.end);
I'm hoping this example might help:
var editor = vscode.window.activeTextEditor;if (!editor) { return; // No open text editor}var selection = editor.selection;var text = editor.document.getText(selection);
You could create a Range
, which is just one character longer than the document text and use validateRange
to trim it to the correct Range
. The method finds the last line of text and uses the last character as the end Position
of the Range
.
let invalidRange = new Range(0, 0, textDocument.lineCount /*intentionally missing the '-1' */, 0);let fullRange = textDocument.validateRange(invalidRange);editor.edit(edit => edit.replace(fullRange, newText));