From 4cf316c0dd802200255bb4717d61491424886cb4 Mon Sep 17 00:00:00 2001 From: Daniel Imms <2193314+Tyriar@users.noreply.github.com> Date: Mon, 6 Feb 2023 06:44:28 -0800 Subject: [PATCH] Don't focus terminal on run selected text/active file Fixes #173247 --- .../contrib/terminal/browser/terminalActions.ts | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/vs/workbench/contrib/terminal/browser/terminalActions.ts b/src/vs/workbench/contrib/terminal/browser/terminalActions.ts index 70525883300..ebc7debe78d 100644 --- a/src/vs/workbench/contrib/terminal/browser/terminalActions.ts +++ b/src/vs/workbench/contrib/terminal/browser/terminalActions.ts @@ -649,7 +649,7 @@ export function registerTerminalActions() { text = editor.getModel().getValueInRange(selection, endOfLinePreference); } instance.sendText(text, true, true); - await focusActiveTerminal(instance, terminalEditorService, terminalGroupService); + await revealActiveTerminal(instance, terminalEditorService, terminalGroupService); } }); registerAction2(class extends Action2 { @@ -681,7 +681,7 @@ export function registerTerminalActions() { if (instance?.xterm?.isStdinDisabled || instance?.shellLaunchConfig.type === 'Task') { instance = await terminalService.createTerminal(); terminalService.setActiveInstance(instance); - await focusActiveTerminal(instance, terminalEditorService, terminalGroupService); + await revealActiveTerminal(instance, terminalEditorService, terminalGroupService); } const isRemote = instance ? instance.isRemote : (workbenchEnvironmentService.remoteAuthority ? true : false); @@ -2746,3 +2746,11 @@ async function focusActiveTerminal(instance: ITerminalInstance, terminalEditorSe await terminalGroupService.showPanel(true); } } + +async function revealActiveTerminal(instance: ITerminalInstance, terminalEditorService: ITerminalEditorService, terminalGroupService: ITerminalGroupService): Promise { + if (instance.target === TerminalLocation.Editor) { + await terminalEditorService.revealActiveEditor(); + } else { + await terminalGroupService.showPanel(); + } +}