From e8f55fba4d90dc6a1d11cd9ec00b666e8e1135f5 Mon Sep 17 00:00:00 2001 From: rebornix Date: Wed, 20 Oct 2021 21:17:34 -0700 Subject: [PATCH] fix #111723. --- src/vs/editor/browser/widget/inlineDiffMargin.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/vs/editor/browser/widget/inlineDiffMargin.ts b/src/vs/editor/browser/widget/inlineDiffMargin.ts index 77b6d003dd2..1407a06e4b9 100644 --- a/src/vs/editor/browser/widget/inlineDiffMargin.ts +++ b/src/vs/editor/browser/widget/inlineDiffMargin.ts @@ -14,7 +14,7 @@ import { Range } from 'vs/editor/common/core/range'; import { CodeEditorWidget } from 'vs/editor/browser/widget/codeEditorWidget'; import { EditorOption } from 'vs/editor/common/config/editorOptions'; import { Codicon } from 'vs/base/common/codicons'; -import { ITextModel } from 'vs/editor/common/model'; +import { EndOfLineSequence, ITextModel } from 'vs/editor/common/model'; export interface IDiffLinesChange { readonly originalStartLineNumber: number; @@ -104,7 +104,13 @@ export class InlineDiffMargin extends Disposable { true, async () => { const lineContent = diff.originalModel.getLineContent(diff.originalStartLineNumber + currentLineNumberOffset); - await this._clipboardService.writeText(lineContent); + if (lineContent === '') { + // empty line + const eof = diff.originalModel.getEndOfLineSequence(); + await this._clipboardService.writeText(eof === EndOfLineSequence.LF ? '\n' : '\r\n'); + } else { + await this._clipboardService.writeText(lineContent); + } } );