diff --git a/src/vs/workbench/contrib/terminal/node/terminalProfiles.ts b/src/vs/workbench/contrib/terminal/node/terminalProfiles.ts index d7601b27859..c47fb560265 100644 --- a/src/vs/workbench/contrib/terminal/node/terminalProfiles.ts +++ b/src/vs/workbench/contrib/terminal/node/terminalProfiles.ts @@ -57,13 +57,7 @@ async function detectAvailableWindowsProfiles(quickLaunchOnly: boolean, statProv ); } - for (const [profileName, value] of Object.entries(configProfiles || {})) { - if (value === null) { - detectedProfiles.delete(profileName); - } else { - detectedProfiles.set(profileName, value); - } - } + applyConfigProfilesToMap(configProfiles, detectedProfiles); const resultProfiles: ITerminalProfile[] = await transformToTerminalProfiles(detectedProfiles.entries(), statProvider, logService, variableResolver, workspaceFolder); @@ -203,17 +197,24 @@ async function detectAvailableUnixProfiles(statProvider: IStatProvider, logServi } } - for (const [profileName, value] of Object.entries(configProfiles || {})) { - if (value === null) { - detectedProfiles.delete(profileName); - } else { - detectedProfiles.set(profileName, value); - } - } + applyConfigProfilesToMap(configProfiles, detectedProfiles); return await transformToTerminalProfiles(detectedProfiles.entries(), statProvider, logService, variableResolver, workspaceFolder); } +function applyConfigProfilesToMap(configProfiles: { [key: string]: ITerminalProfileObject } | undefined, profilesMap: Map) { + if (!configProfiles) { + return; + } + for (const [profileName, value] of Object.entries(configProfiles)) { + if (value === null) { + profilesMap.delete(profileName); + } else { + profilesMap.set(profileName, value); + } + } +} + async function validateProfilePaths(label: string, potentialPaths: string[], statProvider: IStatProvider, args?: string[] | string, logService?: ILogService): Promise { if (potentialPaths.length === 0) { return Promise.resolve(undefined);