Skip to content

Commit eaf3a5d

Browse files
committed
Move off deprecated resolve function
Fixes #120328
1 parent 29ade59 commit eaf3a5d

File tree

3 files changed

+7
-6
lines changed

3 files changed

+7
-6
lines changed

src/vs/workbench/api/node/extHostTerminalService.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ export class ExtHostTerminalService extends BaseExtHostTerminalService {
8686
this._defaultShell ?? getSystemShellSync(platform.OS, process.env as platform.IProcessEnvironment),
8787
process.env.hasOwnProperty('PROCESSOR_ARCHITEW6432'),
8888
process.env.windir,
89-
terminalEnvironment.createVariableResolver(this._lastActiveWorkspace, this._variableResolver),
89+
terminalEnvironment.createVariableResolver(this._lastActiveWorkspace, process.env, this._variableResolver),
9090
this._logService,
9191
useAutomationShell
9292
);
@@ -99,7 +99,7 @@ export class ExtHostTerminalService extends BaseExtHostTerminalService {
9999
.get<string | string[]>(key.substr(key.lastIndexOf('.') + 1));
100100
};
101101

102-
return terminalEnvironment.getDefaultShellArgs(fetchSetting, useAutomationShell, terminalEnvironment.createVariableResolver(this._lastActiveWorkspace, this._variableResolver), this._logService);
102+
return terminalEnvironment.getDefaultShellArgs(fetchSetting, useAutomationShell, terminalEnvironment.createVariableResolver(this._lastActiveWorkspace, process.env, this._variableResolver), this._logService);
103103
}
104104

105105
private _registerListeners(): void {

src/vs/workbench/contrib/terminal/browser/terminalProcessManager.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,8 @@ export class TerminalProcessManager extends Disposable implements ITerminalProce
340340
const baseEnv = await (this._configHelper.config.inheritEnv
341341
? this._terminalProfileResolverService.getShellEnvironment(this.remoteAuthority)
342342
: this._terminalInstanceService.getMainProcessParentEnv());
343-
const variableResolver = terminalEnvironment.createVariableResolver(lastActiveWorkspace, this._configurationResolverService);
343+
// TODO: getShellEnvironment is called twice in this file, plus again when the terminal is resolved
344+
const variableResolver = terminalEnvironment.createVariableResolver(lastActiveWorkspace, await this._terminalProfileResolverService.getShellEnvironment(this.remoteAuthority), this._configurationResolverService);
344345
const env = terminalEnvironment.createTerminalEnvironment(shellLaunchConfig, envFromConfigValue, variableResolver, this._productService.version, this._configHelper.config.detectLocale, baseEnv);
345346

346347
if (!shellLaunchConfig.strictEnv && !shellLaunchConfig.hideFromUser) {
@@ -380,7 +381,7 @@ export class TerminalProcessManager extends Disposable implements ITerminalProce
380381
const initialCwd = terminalEnvironment.getCwd(
381382
shellLaunchConfig,
382383
userHome,
383-
terminalEnvironment.createVariableResolver(lastActiveWorkspace, this._configurationResolverService),
384+
terminalEnvironment.createVariableResolver(lastActiveWorkspace, await this._terminalProfileResolverService.getShellEnvironment(this.remoteAuthority), this._configurationResolverService),
384385
activeWorkspaceRootUri,
385386
this._configHelper.config.cwd,
386387
this._logService

src/vs/workbench/contrib/terminal/common/terminalEnvironment.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -263,11 +263,11 @@ export type TerminalShellArgsSetting = (
263263

264264
export type VariableResolver = (str: string) => string;
265265

266-
export function createVariableResolver(lastActiveWorkspace: IWorkspaceFolder | undefined, configurationResolverService: IConfigurationResolverService | undefined): VariableResolver | undefined {
266+
export function createVariableResolver(lastActiveWorkspace: IWorkspaceFolder | undefined, env: IProcessEnvironment, configurationResolverService: IConfigurationResolverService | undefined): VariableResolver | undefined {
267267
if (!configurationResolverService) {
268268
return undefined;
269269
}
270-
return (str) => configurationResolverService.resolve(lastActiveWorkspace, str);
270+
return (str) => configurationResolverService.resolveWithEnvironment(env, lastActiveWorkspace, str);
271271
}
272272

273273
/**

0 commit comments

Comments
 (0)