Visual Studio Code STM32 IDE

UPDATE (29.12.2021): after a couple of weeks of testing, I can confirm that all he things covered in this project are now replaced (and even better) with VS Code Makefile tools plugin.
Anyway, 3 years in a such rapid changing SW development world, I consider this project a success, even though closed.

 


This is a story about how I transformed Visual Studio Code to an IDE for embedded projects, that can work with STM32 CubeMX generated Makefile, OpenOCD and all the goodies that VS Code offers.

Why?

  1. I like Visual Studio Code. I think it is an amazing editor. I also like STM32CubeMX for generating basic initialization code.
  2. I wanted to pimp-up old project and I hit Keil code size restriction.
  3. I certanly don’t wish to spend the rest of my life configuring Eclipse settings to blink an LED.

How?

I also like Python. So, I created a set of scripts that can parse CubeMX generated Makefile and VS Code ‘c_cpp_properties.json’ file and do some magic, which is better described on GitHub.

The result is a VS Code which can build, compile, download, reset, … CPU and has no limitations. After the initial, relatively quick setup, a simple “Run task > Update workspace” is needed to update VS Code files and coding can continue. 

And the best thing?

You can still use STM32CubeMX without any restrictions (regenerate, rebuild files, …). You can add custom files and folders, C/ASM defines. You can enjoy VS Code Intellisense and all other available extensions while coding.
Compile, build project and check all compiler flags in special file. Debug embedded code. See CPU and core registers. Map your own shortcuts to tasks. Develop C and Python project in the same IDE.

And the best of all: customize it, because it is free and open source. Implement custom tasks, launch configurations, settings, …

Explore the docs, guide and example on our GitHub and share if you like.