diff --git a/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts b/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts index 5c6e9b6f321..cb655514f46 100644 --- a/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts +++ b/src/vs/workbench/api/electron-browser/mainThreadSaveParticipant.ts @@ -157,7 +157,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);