Showing results for 
Search instead for 
Did you mean: 

New STM32 VSCode extension V2.0.0 released

ST Employee


  • V2.0.0 implies a breaking change: CMake project generation has been moved from VS Code to STM32CubeMX v6.11.0 (and later).
    • VS Code solution no longer has dependency on STM32CubeIDE (.cproject-files)
    • VS Code solution no longer relies on STM32CubeIDE provided toolchains and debugger tools
    • VS Code solution no longer has dependency on vcpkg,
  • Added support to import STM32CubeMX v6.11.0 CMake projects and bootstrap edit/compile/debug in VS Code
  • Added support to create empty projects
  • Depends on STM32CubeCLT v1.15.0 for empty project creation, build and debug tools
  • Documentation update: The User Guide has increased coverage
  • Better OS platform support

mattias norlander
ST Employee

To make a very small comparison of the "free IDE offering" from ST, let's summarize the situation like this:

  • STM32CubeIDE:
    • Fully-featured IDE.
    • Full STM32Cube ecosystem integration.
    • Integration of tools such as MCUFinder, CubeMX leads to slow performance.
  • VS Code extension:
    • Lightweight and fast "IDE", but limited in terms of debug features
    • CMake-based build system which is de-couple from the IDE - more efficient CLI/CI workflows
    • Today heavily relying on open-source and third-party extensions

It is fully up to the user to select which free IDE offering they want to use.

The latest version of STM32CubeMX (6.11.0) brings CMake project generation. Supporting CMake opens the door to "IDE freedom" in a development team, where each developer on and individual basis can choose which IDE they want to use assuming it has CMake support. The "holey grail" in a development-team is typically that all developers produce identical build results. This means that the compiler and build system is well-defined and frozen in the team! Which editor and debugger each developer want to use is more of a personal choice.

One way of squeezing out maximum "developer efficiency" given the current state of the free ST IDEs is to combine VS Code and STM32CubeIDE:

  • Use VS Code to edit and compile your project and for simple / quick debug sessions
  • Use CubeIDE as a compliment for advanced debug only

This dual-usage is fully possible by:

  1. Starting your CMake project from STM32CubeMX or from VS Code (empty project).
  2. Import and work with the project inside VS Code. All editing and compilation done inside VS Code (or CLI)
  3. Then use the elf-importer inside STM32CubeIDE to benefit from the advance debug features only (not for edit/compile)

Step#3 is accomplished by this wizard in STM32CubeIDE:


Full source code look-up, c-line / assembly instruction stepping and hyper-linking to symbols/code will work despite that the actual c-code is not imported in the CubeIDE project.



Will multi project boards ever be supported using this extension and cmake, currently the cmake and makefile options are greyed out in STM32CubeMX?

STM32H7S78 is an example.



Hello @ACapo.1 , 

it will be supported in the coming releases


Hi @Nawres GHARBI 

Super, thanks very much for the prompt reply.


Chief II

All this sound excelent, but how with for example TouchGFX generated project. Here exist IAR KEIL IDE gcc folders, but is real import this here? For me edit mode only for GUI files is perfect.