From 92d806dd79e2b58a01c8d2025aa5dec150d9dc7d Mon Sep 17 00:00:00 2001 From: Johannes Date: Tue, 12 Sep 2023 15:45:03 +0200 Subject: [PATCH] don't show inline diff when nothing has changed --- .../browser/inlineChatLivePreviewWidget.ts | 12 +++++++++--- .../inlineChat/browser/inlineChatStrategies.ts | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.ts b/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.ts index 0f153ca64da..2d2a2a7a5bb 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.ts +++ b/src/vs/workbench/contrib/inlineChat/browser/inlineChatLivePreviewWidget.ts @@ -170,9 +170,15 @@ export class InlineChatLivePreviewWidget extends ZoneWidget { return; } - // complex changes - this._logService.debug('[IE] livePreview-mode: full diff'); - this._renderChangesWithFullDiff(changes, range); + if (changes.length === 0 || this._session.textModel0.getValueLength() === 0) { + // no change or changes to an empty file + this._logService.debug('[IE] livePreview-mode: no diff'); + this._cleanupFullDiff(); + } else { + // complex changes + this._logService.debug('[IE] livePreview-mode: full diff'); + this._renderChangesWithFullDiff(changes, range); + } } // --- full diff diff --git a/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.ts b/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.ts index 76944f5b38e..5ffa49b8217 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.ts +++ b/src/vs/workbench/contrib/inlineChat/browser/inlineChatStrategies.ts @@ -409,7 +409,7 @@ export class LivePreviewStrategy extends LiveStrategy { } if (response.singleCreateFileEdit) { - this._previewZone.value.showCreation(this._session.wholeRange.value, response.singleCreateFileEdit.uri, await Promise.all(response.singleCreateFileEdit.edits)); + this._previewZone.value.showCreation(this._session.wholeRange.value.collapseToEnd(), response.singleCreateFileEdit.uri, await Promise.all(response.singleCreateFileEdit.edits)); } else { this._previewZone.value.hide(); }