Skip to content

Commit 14732d4

Browse files
Tyriarmeganrogge
andcommitted
Fix cwd setting in workspace file
Fixes #136099 Co-Authored-By: Megan Rogge <[email protected]>
1 parent ba40275 commit 14732d4

File tree

1 file changed

+5
-3
lines changed

1 file changed

+5
-3
lines changed

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

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1742,6 +1742,7 @@ export function registerTerminalActions() {
17421742
const workspaceContextService = accessor.get(IWorkspaceContextService);
17431743
const commandService = accessor.get(ICommandService);
17441744
const configurationService = accessor.get(IConfigurationService);
1745+
const configurationResolverService = accessor.get(IConfigurationResolverService);
17451746
const folders = workspaceContextService.getWorkspace().folders;
17461747
if (eventOrOptions && eventOrOptions instanceof MouseEvent && (eventOrOptions.altKey || eventOrOptions.ctrlKey)) {
17471748
await terminalService.createTerminal({ location: { splitActiveTerminal: true } });
@@ -1768,13 +1769,14 @@ export function registerTerminalActions() {
17681769
eventOrOptions.cwd = workspace.uri;
17691770
const cwdConfig = configurationService.getValue(TerminalSettingId.Cwd, { resource: workspace.uri });
17701771
if (typeof cwdConfig === 'string' && cwdConfig.length > 0) {
1771-
if (isAbsolute(cwdConfig) || cwdConfig.startsWith(AbstractVariableResolverService.VARIABLE_LHS)) {
1772+
const resolvedCwdConfig = await configurationResolverService.resolveAsync(workspace, cwdConfig);
1773+
if (isAbsolute(resolvedCwdConfig) || resolvedCwdConfig.startsWith(AbstractVariableResolverService.VARIABLE_LHS)) {
17721774
eventOrOptions.cwd = URI.from({
17731775
scheme: workspace.uri.scheme,
1774-
path: cwdConfig
1776+
path: resolvedCwdConfig
17751777
});
17761778
} else {
1777-
eventOrOptions.cwd = URI.joinPath(workspace.uri, cwdConfig);
1779+
eventOrOptions.cwd = URI.joinPath(workspace.uri, resolvedCwdConfig);
17781780
}
17791781
}
17801782
instance = await terminalService.createTerminal(eventOrOptions);

0 commit comments

Comments
 (0)