diff --git a/src/vs/workbench/api/common/extHostTerminalService.ts b/src/vs/workbench/api/common/extHostTerminalService.ts index a3eec5aac11..a403f5ee5bb 100644 --- a/src/vs/workbench/api/common/extHostTerminalService.ts +++ b/src/vs/workbench/api/common/extHostTerminalService.ts @@ -414,8 +414,14 @@ export abstract class BaseExtHostTerminalService extends Disposable implements I } private _resolveLocation(location?: TerminalLocation | vscode.TerminalEditorLocationOptions | vscode.TerminalSplitLocationOptions): undefined | TerminalLocation | vscode.TerminalEditorLocationOptions { - if (typeof location === 'object' && 'parentTerminal' in location) { + if (typeof location === 'object' && 'viewColumn' in location && location.viewColumn !== undefined) { + return { viewColumn: location.viewColumn, preserveFocus: location.preserveFocus }; + } else if (typeof location === 'object' && 'parentTerminal' in location) { + // parent terminal exthost ID is passed in internal options + // for conversion to TerminalInstance in mainThreadTerminalService return undefined; + } else if (location === TerminalLocation.Editor || location === TerminalLocation.Panel) { + return location; } return location; }