improve handling of titleTemplate for proposed API (#296760)

This commit is contained in:
Peng Lyu
2026-02-21 16:13:34 -08:00
committed by GitHub
parent 9c99e8fb20
commit 6c1efa9aaf
2 changed files with 18 additions and 9 deletions

View File

@@ -941,13 +941,15 @@ export function createApiFactoryAndRegisterActors(accessor: ServicesAccessor): I
},
createTerminal(nameOrOptions?: vscode.TerminalOptions | vscode.ExtensionTerminalOptions | string, shellPath?: string, shellArgs?: readonly string[] | string): vscode.Terminal {
if (typeof nameOrOptions === 'object') {
if ('titleTemplate' in nameOrOptions && nameOrOptions.titleTemplate !== undefined) {
checkProposedApiEnabled(extension, 'terminalTitle');
let options = nameOrOptions;
if (!isProposedApiEnabled(extension, 'terminalTitle') && 'titleTemplate' in nameOrOptions && nameOrOptions.titleTemplate !== undefined) {
console.error(`[${extension.identifier.value}] \`titleTemplate\` was provided to window.createTerminal but is ignored because the \`terminalTitle\` proposed API is not enabled.`);
options = { ...nameOrOptions, titleTemplate: undefined };
}
if ('pty' in nameOrOptions) {
return extHostTerminalService.createExtensionTerminal(nameOrOptions);
if ('pty' in options) {
return extHostTerminalService.createExtensionTerminal(options);
}
return extHostTerminalService.createTerminalFromOptions(nameOrOptions);
return extHostTerminalService.createTerminalFromOptions(options);
}
return extHostTerminalService.createTerminal(nameOrOptions, shellPath, shellArgs);
},