Visual Studio Code STM32 IDE

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.

 

 

3 Comments

  1. How is this comparable to Atollic TrueStudio

  2. Atollic TrueStudio (and others) is a more complete, advanced IDE package. Which means, for any serious project where debug/multicore/OS/trace/… is needed, some sort of advanced IDE is the only way to go, and Atollic TrueStudio is fine I think.

    For a simpler projects you sometimes just want two things: a good text editor and a basic debug capabilities. This is what this project is about. It cannot compare with other advanced IDEs in terms of features, but it can compare (and probably win) in terms of simplicity and straight-forwardness.

    In fact, I tried Atollic TrueStudio, and it is a good capable IDE – if you wish to bother configuring Eclipse and all 10^8 settings to blink a LED. 😀

  3. Thanks for your reply.
    As I am a noob, and an Arduino user, I find these complicated IDE (like Atollic) quite troublesome and not straight forward. Just adding and deleting files could cause a compile errors if you are not careful, not to mention importing other eclipse project.
    Thanks anyway for the thought.

Leave a Reply