From a9bbd0c09cd203029664e07810d0b54a52ae436c Mon Sep 17 00:00:00 2001 From: Rob Lourens Date: Tue, 27 Oct 2020 17:47:14 -0700 Subject: [PATCH] Fix terminal stealing focus from the multistep quick pick. This is a little weird. onDidFocus is based on a focus tracker, but the focus() method is called when the terminal is actually expected to take focus. Fix #109538 --- src/vs/workbench/contrib/terminal/browser/terminalView.ts | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/vs/workbench/contrib/terminal/browser/terminalView.ts b/src/vs/workbench/contrib/terminal/browser/terminalView.ts index 6ebd3b7536f..74fc5f854fa 100644 --- a/src/vs/workbench/contrib/terminal/browser/terminalView.ts +++ b/src/vs/workbench/contrib/terminal/browser/terminalView.ts @@ -68,9 +68,6 @@ export class TerminalViewPane extends ViewPane { this._onDidChangeViewWelcomeState.fire(); }); - this._register(this.onDidFocus(() => { - this._terminalService.getActiveTab()?.setWillFocus(true); - })); this._register(this.onDidBlur(() => { this._terminalService.getActiveTab()?.setWillFocus(false); })); @@ -219,6 +216,10 @@ export class TerminalViewPane extends ViewPane { return super.getActionViewItem(action); } + public focus() { + this._terminalService.getActiveTab()?.setWillFocus(true); + } + public focusFindWidget() { const activeInstance = this._terminalService.getActiveInstance(); if (activeInstance && activeInstance.hasSelection() && activeInstance.selection!.indexOf('\n') === -1) {