2026-03-26 4:12 PM - edited 2026-03-26 5:24 PM
Hi ST,
I understand that CubeIDE (clang-based) code-completion cannot coexist with Microsoft C++ IntelliSense. However, it seems that once IntelliSense is disabled (which is presented as the default option), it also stops working for other non-STM32 C++ projects permanently.
I wasn’t able to figure out how to re-enable it, disabling Cube IDE extension was not helpful. After about 30 minutes of trying, I ended up reinstalling VS Code- which probably isn’t the best or recommended solution.
Moreover, it looks like Cube IDE extension modifies default use settings. Even after disabling Cube IDE extension code colors look much different than originally, and code formatting does not work.
What is the proper way to handle this situation? I really would like to use Cube IDE extension but only occasionally.
Please do not alter my default VS code settings for C/C++!
Thanks,
Thomas
Here is the message I get trying to format other, non-cubeide project C code after disabling cube ide extension.
Here is how code colors look
.. and here is how it used to look
Solved! Go to Solution.
2026-03-29 2:07 AM
STM32CubeIDE for Visual Studio Code promotes clangd as the default tool for code indexing. However, you are free to not install or to uninstall the extension that provides this functionality. No dependencies are enforced.
Currently, we also recommend including settings in the .vscode settings file to support the Microsoft C/C++ code indexing solution.
The rationale for promoting clangd first is that it is fully open source, while the Microsoft solution is not. Because clangd is open source, we can contribute bug fixes and improvements. Additionally, clangd enables support for Visual Studio Code alternatives such as Codium, Theia, and Antigravity, which the Microsoft C/C++ extensions do not allow.
Clangd linter usage is currently disabled by default in the contributing extension settings. Clangd is a multipurpose tool; our primary interest is code indexing. Valuable extensions are available on the marketplace to address formatting, linting, and other tasks. We prefer to allow freedom to the end user.
CMake and GCC versions are not restricted, but STM32CubeIDE for Visual Studio Code manages them through the STM32Cube bundle system.
Multiple CMake and GCC versions are currently supported, but not all possible versions it's true. If a specific version is missing, share the version and ST may assist.
You can contribute to your own local bundle, which the system considers. An STM32Cube bundle is a package for distributing any data or binary set. It is a zip file containing content and a mandatory CubeBundle.json file.
If you have already pulled content to your local disk, you can promote your own bundle. Once completed, your material is fully usable by STM32CubeIDE for Visual Studio Code, just like any ST's official bundle.
2026-03-26 7:40 PM
> Please do not alter my default VS code settings for C/C++!
This is why VS Code has profiles. You can create a new profile for CubeIDE and install there only compatible extensions.
2026-03-26 10:45 PM
Way to get back Microsoft C/C++ is Thanks settings
Such said @Pavel A. advice is best to me; let's rely on profiles ! https://code.visualstudio.com/docs/configure/profiles
2026-03-28 12:55 PM - edited 2026-03-28 3:57 PM
Thank you @Pavel A. and @Cartu38 OpenDev.
I still think it would be much better for CubeIDE not to mess with the default settings.
I have to say that I would highly appreciate VSCode extensions from ST, especially for debugging and deployment. However, I do not want to be forced to use CMake, particular version of GCC or Clang, clang code-completion and clang code linter.
I really tried to use CubeIDE, but unfortunately so far it gave me more headache than benefits. I am back to my default environment.
Thomas
2026-03-29 2:07 AM
STM32CubeIDE for Visual Studio Code promotes clangd as the default tool for code indexing. However, you are free to not install or to uninstall the extension that provides this functionality. No dependencies are enforced.
Currently, we also recommend including settings in the .vscode settings file to support the Microsoft C/C++ code indexing solution.
The rationale for promoting clangd first is that it is fully open source, while the Microsoft solution is not. Because clangd is open source, we can contribute bug fixes and improvements. Additionally, clangd enables support for Visual Studio Code alternatives such as Codium, Theia, and Antigravity, which the Microsoft C/C++ extensions do not allow.
Clangd linter usage is currently disabled by default in the contributing extension settings. Clangd is a multipurpose tool; our primary interest is code indexing. Valuable extensions are available on the marketplace to address formatting, linting, and other tasks. We prefer to allow freedom to the end user.
CMake and GCC versions are not restricted, but STM32CubeIDE for Visual Studio Code manages them through the STM32Cube bundle system.
Multiple CMake and GCC versions are currently supported, but not all possible versions it's true. If a specific version is missing, share the version and ST may assist.
You can contribute to your own local bundle, which the system considers. An STM32Cube bundle is a package for distributing any data or binary set. It is a zip file containing content and a mandatory CubeBundle.json file.
If you have already pulled content to your local disk, you can promote your own bundle. Once completed, your material is fully usable by STM32CubeIDE for Visual Studio Code, just like any ST's official bundle.
2026-04-08 3:39 AM - edited 2026-04-08 6:27 AM
@vincent_grenet
Thank you for the explanation. I will definitely give it another try. My first experience wasn’t entirely successful, as I realized STM32Cube extension was affecting my other C/C++ projects, and I had to quickly revert to the default options without having enough time to explore it properly. It may or may not be something worth considering.
It appears that “Debug Core” depends on both “Cube Core” and “CMake Support,” so it doesn’t seem possible to use only the STM32Cube debugging functionality on its own without CMake - I successfully use my own simple yet very effective cppbuild system.
2026-04-24 10:41 AM
Hello @TDJ ,
A kind reminder. If you've already solved your question or your original question has been answered please kindly close this post by marking as accepted solution the post that answered your question or at least guided you to the right direction.
Thank you.
2026-04-25 1:31 AM
Since I experienced similar problems as the OP, and apparently have a similar view on the dependeny links between debugging support extensions and edit/build extensions, I opened a new feature request:
Modularize STM32CubeIDE for VSCode: Split debugging support VSCode extensions from Core + Build