2025-09-13 1:54 AM
There are a large number of extensions that are currently available for VSCode, but I am confused on which extensions to install.
For example. There are these two extensions
These two look like they complement each other, however going into the settings, I need to to specify the path location for CubeMX and the Finder tool twice. I don't even know whether I should be installing these together now.
Also, you provide STM32Cube clangd extension, however the STM32Cube for Visual Studio Code installed a C/C++ extension pack that includes the Microsoft C++ extension and this is known to conflict with clangd.
There are also a plethora of extensions like
and now it is difficult to know which extensions play nicely with other extensions. To be perfectly honest, should these be wrapped up into the STM32Cube for Visual Studio Code extension?
Don't get me wrong, I think it is great to be able to work with the VSCode landscape because I think relying on an Eclipse based IDE is quite limiting but I think there is an element of confusion and conflict within your ecosystem of extensions.
Anyway, onwards to getting a project created, having those first two mentioned extensions gave me two of the butterfly sidebar buttons so it seems those two extensions are mutually exclusive so I disabled the one ending in Core, which disabled all of those "plethora" extensions so it seems that this extension STM32Cube for Visual Studio Code seems to be the way to go.
I have provided all the required paths to the Cube MX executable, Finder Executable and the Cube CLT path so I went ahead and created an STM32 project and then ran into another problem, which you can see below
It seems as though the extension is not picking up the toolchains installed in the CLT path. When I installed the CLT for Linux, it was placed in /opt/st/stm32cubeclt_1.19.0 and this is the same path that I gave in the settings for the extension.
What am I doing wrong? Is there a problem with the extension? Should I use the other set of extensions, i.e. the one with ending with Core and will this one work with the STM32 clangd extension, or are these going to be depricated?
[driver] NOTE: You are configuring with preset debug, but there are some overrides being applied from your VS Code settings.
[proc] Executing command: /usr/bin/cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_TOOLCHAIN_FILE=/home/adam/Development/hello/cmake/gcc-arm-none-eabi.cmake -S /home/adam/Development/hello -B /home/adam/Development/hello/build/debug -G Ninja
[cmake] Build CMAKE_MODULE_PATH: {{sr:cmake_path}}
[cmake] Build CMAKE_MODULE_PATH: {{sr:cmake_path}}
[cmake] -- The C compiler identification is unknown
[cmake] -- The CXX compiler identification is unknown
[cmake] CMake Error at CMakeLists.txt:14 (project):
[cmake] The CMAKE_C_COMPILER:
[cmake]
[cmake] arm-none-eabi-gcc
[cmake]
[cmake] is not a full path and was not found in the PATH.
[cmake]
[cmake] Tell CMake where to find the compiler by setting either the environment
[cmake] variable "CC" or the CMake cache entry CMAKE_C_COMPILER to the full path to
[cmake] the compiler, or to the compiler name if it is in the PATH.
[cmake]
[cmake]
[cmake] CMake Error at CMakeLists.txt:14 (project):
[cmake] The CMAKE_CXX_COMPILER:
[cmake]
[cmake] arm-none-eabi-g++
[cmake]
[cmake] is not a full path and was not found in the PATH.
[cmake]
[cmake] Tell CMake where to find the compiler by setting either the environment
[cmake] variable "CXX" or the CMake cache entry CMAKE_CXX_COMPILER to the full path
[cmake] to the compiler, or to the compiler name if it is in the PATH.
[cmake]
[cmake]
[cmake] -- Configuring incomplete, errors occurred!