diff --git a/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts b/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts index 90ee7c35ba9..e1508fc1f4c 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts @@ -156,7 +156,11 @@ export class TrimFinalNewLinesParticipant implements ISaveParticipant { currentLine = model.getLineContent(currentLineNumber); currentLineIsEmptyOrWhitespace = strings.lastNonWhitespaceIndex(currentLine) === -1; } - model.pushEditOperations(prevSelection, [EditOperation.delete(new Range(currentLineNumber + 1, 1, lineCount + 1, 1))], edits => prevSelection); + + const deletionRange = new Range(currentLineNumber + 1, 1, lineCount + 1, 1); + if (!deletionRange.isEmpty()) { + model.pushEditOperations(prevSelection, [EditOperation.delete(deletionRange)], edits => prevSelection); + } if (editor) { editor.setSelections(prevSelection);