From 25a62b740728f3aff0cdc871e45093d5de152f66 Mon Sep 17 00:00:00 2001 From: paulober <44974737+paulober@users.noreply.github.com> Date: Wed, 8 May 2024 16:01:45 +0200 Subject: [PATCH] c_cpp_properties platform independent + fixed switch SDK issue Signed-off-by: paulober <44974737+paulober@users.noreply.github.com> --- scripts/pico_project.py | 6 +++--- src/utils/vscodeConfigUtil.mts | 11 ++++------- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/scripts/pico_project.py b/scripts/pico_project.py index 2ffcc08..548967d 100644 --- a/scripts/pico_project.py +++ b/scripts/pico_project.py @@ -830,10 +830,10 @@ def generateProjectFiles(projectPath, projectName, sdkPath, projects, debugger, "name": "Pico", "includePath": [ "${{workspaceFolder}}/**", - "{propertiesSdkPath(sdkVersion)}/**" + "{codeSdkPath(sdkVersion)}/**" ], "forcedInclude": [ - "{propertiesSdkPath(sdkVersion)}/src/common/pico_base/include/pico.h", + "{codeSdkPath(sdkVersion)}/src/common/pico_base/include/pico.h", "${{workspaceFolder}}/build/generated/pico_base/pico/config_autogen.h" ], "defines": [], @@ -1138,7 +1138,7 @@ def DoEverything(parent, params): if args.cpath: compilerPath = Path(args.cpath) elif args.toolchainVersion: - compilerPath = Path(propertiesToolchainPath(args.toolchainVersion)+"/bin/"+COMPILER_NAME) + compilerPath = Path(codeToolchainPath(args.toolchainVersion)+"/bin/"+COMPILER_NAME) else: compilerPath = Path(c) diff --git a/src/utils/vscodeConfigUtil.mts b/src/utils/vscodeConfigUtil.mts index f81688d..d20d84d 100644 --- a/src/utils/vscodeConfigUtil.mts +++ b/src/utils/vscodeConfigUtil.mts @@ -28,13 +28,13 @@ async function updateCppPropertiesFile( cppProperties.configurations.forEach(config => { // Remove the old pico-sdk includePath values set by this extension config.includePath = config.includePath.filter( - item => !item.startsWith("${env:HOME}/.pico-sdk") + item => !item.startsWith("${userHome}/.pico-sdk") ); // Add the new pico-sdk includePath - config.includePath.push(`\${env:HOME}/.pico-sdk/sdk/${newSDKVersion}/**`); + config.includePath.push(`\${userHome}/.pico-sdk/sdk/${newSDKVersion}/**`); // Update the compilerPath config.compilerPath = - "${env:HOME}/.pico-sdk/toolchain" + + "${userHome}/.pico-sdk/toolchain" + `/${newToolchainVersion}/bin/${ // "arm-none-eabi-gcc" should work on all platforms no need for extension on Windows /*process.platform === "win32" @@ -94,10 +94,7 @@ function relativeToolchainPath(toolchainVersion: string): string { * @returns The path to the toolchain. */ function buildPropertiesToolchainPathBin(toolchainVersion: string): string { - // TODO: may home is also available in newer versions of windows - return `${ - process.platform === "win32" ? "${env:USERPROFILE}" : "${env:HOME}" - }${relativeToolchainPath(toolchainVersion)}/bin`; + return `\${userHome}${relativeToolchainPath(toolchainVersion)}/bin`; } function buildCMakePath(cmakeVersion: string): string {