Skip to main content
totoro
Associate II
June 13, 2026
Question

A small rant about the STM32 VS Code extension

  • June 13, 2026
  • 0 replies
  • 10 views

As an embedded developer, I already have CMake, Ninja, and the GNU Arm Embedded Toolchain installed and properly configured in my system PATH. These are standard development tools that many of us manage ourselves.

What frustrates me is that the STM32 VS Code extension seems to completely ignore the existing environment and immediately downloads its own copies of CMake, Ninja, and arm-none-eabi-gcc.

Why?

Why not first check whether compatible versions already exist on the system? If they do, use them. If they don't, then offer to download them. That seems like a much more reasonable approach.

The current behavior feels like this:

  • Ignore the system environment

  • Ignore tools already installed by the user

  • Download another copy of everything anyway

The result is duplicated toolchains, wasted disk space, and less control over the development environment.

I understand that bundling dependencies may simplify onboarding for beginners, but experienced developers should have the option to use their own toolchain. A simple setting such as "Prefer system-installed tools" would solve the problem.

VS Code extensions are not package managers, and they certainly shouldn't assume that every user needs another copy of CMake, Ninja, and GCC downloaded into a hidden directory.

For developers who care about maintaining a clean and controlled build environment, this design choice is genuinely frustrating.