diff --git a/src/vs/workbench/contrib/terminal/browser/terminalActions.ts b/src/vs/workbench/contrib/terminal/browser/terminalActions.ts index b2d0b5d21b3..fa6f0d3b9d9 100644 --- a/src/vs/workbench/contrib/terminal/browser/terminalActions.ts +++ b/src/vs/workbench/contrib/terminal/browser/terminalActions.ts @@ -651,7 +651,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 { @@ -683,7 +683,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); @@ -2748,3 +2748,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(); + } +}