From fdef134c6ed7bb534785fb0b810e9f43bb13ff07 Mon Sep 17 00:00:00 2001 From: Johannes Rieken Date: Thu, 20 Jul 2023 17:14:46 +0200 Subject: [PATCH] make sure auto reveal of inline input is more careful (#188390) fixes https://github.com/microsoft/vscode-copilot/issues/793 --- .../inlineChat/browser/inlineChatController.ts | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.ts b/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.ts index 7d8c80fbe96..ad021100a9e 100644 --- a/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.ts +++ b/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.ts @@ -308,10 +308,16 @@ export class InlineChatController implements IEditorContribution { this._zone.value.widget.preferredExpansionState = this._activeSession.lastExpansionState; this._zone.value.widget.value = this._activeSession.lastInput?.value ?? this._zone.value.widget.value; this._zone.value.widget.onDidChangeInput(_ => { - const pos = this._zone.value.position; - if (pos && this._zone.value.widget.hasFocus() && this._zone.value.widget.value) { - this._editor.revealPosition(pos, ScrollType.Smooth); + const start = this._zone.value.position; + if (!start || !this._zone.value.widget.hasFocus() || !this._zone.value.widget.value || !this._editor.hasModel()) { + return; } + const nextLine = start.lineNumber + 1; + if (nextLine >= this._editor.getModel().getLineCount()) { + // last line isn't supported + return; + } + this._editor.revealLine(nextLine, ScrollType.Smooth); }); this._showWidget(true, options.position);