diff --git a/Extension/src/LanguageServer/configurations.ts b/Extension/src/LanguageServer/configurations.ts index 1b7da803a..622e187b2 100644 --- a/Extension/src/LanguageServer/configurations.ts +++ b/Extension/src/LanguageServer/configurations.ts @@ -425,6 +425,11 @@ export class CppProperties { result["workspaceFolderBasename"] = this.rootUri ? path.basename(this.rootUri.fsPath) : ""; result["execPath"] = process.execPath; result["pathSeparator"] = (os.platform() === 'win32') ? "\\" : "/"; + result["/"] = (os.platform() === 'win32') ? "\\" : "/"; + result["userHome"] = os.homedir(); + if (util.getVcpkgRoot()) { + result["vcpkgRoot"] = util.getVcpkgRoot(); + } return result; } @@ -1528,9 +1533,7 @@ export class CppProperties { result = result.replace("${workspaceRoot}", this.rootUri.fsPath); } } - if (result.includes("${vcpkgRoot}") && util.getVcpkgRoot()) { - result = result.replace("${vcpkgRoot}", util.getVcpkgRoot()); - } + if (replaceAsterisks && result.includes("*")) { result = result.replace(/\*/g, ""); } diff --git a/Extension/src/common.ts b/Extension/src/common.ts index 9c7d948fd..dd32caadc 100644 --- a/Extension/src/common.ts +++ b/Extension/src/common.ts @@ -371,7 +371,7 @@ export function resolveVariables(input: string | undefined, additionalEnvironmen } // Replace environment and configuration variables. - const regexp: () => RegExp = () => /\$\{((env|config|workspaceFolder|file|fileDirname|fileBasenameNoExtension|execPath|pathSeparator)(\.|:))?(.*?)\}/g; + const regexp: () => RegExp = () => /\$\{((env|config|workspaceFolder)(\.|:))?(.*?)\}/g; let ret: string = input; const cycleCache = new Set(); while (!cycleCache.has(ret)) {