今天给大家安利一个宝藏插件——​STM32 for VSCode​,让你的VSCode摇身一变,秒变STM32开发利器!

STM32 for VSCode,到底是啥?
简单说,STM32 for VSCode 是一个专门为STM32项目打造的VSCode 插件,能帮你:

自动生成Makefile,直接编译
一键烧录、调试(依赖OpenOCD + Cortex-Debug)
智能配置 IntelliSense
对接STM32CubeMX,让项目无缝接入
支持C++(把main.c手动改成main.cpp即可)

一句话,省掉手写繁琐脚本、折腾环境变量的时间,打开VSCode就能干活!

a3c89effa7d96a89aa37f8c5acd97581.png

它能解决哪些痛点?

下面这张表,可能就戳中了你的痛点:

| 传统STM32开发 痛点 | STM32 for VSCode 解决方案 |
| --- | --- |
| 多个IDE切换,配置重复浪费时间 | VSCode 一站式,生成Makefile免配置 |
| 纠结工具链安装、环境变量设置 | 插件自动下载安装 GNU Arm / OpenOCD |
| CubeMX导出不同IDE项目太麻烦 | 导出Makefile项目,直接“秒认” |
| Keil授权、成本高 | 免费开源,跨平台(Windows/macOS/Linux) |

快上手:简单示例

这里给个最简单的<span leaf="">main.c</span>例程,配合CubeMX生成Makefile项目后,放到工程根目录,右上角点击ST图标 → ​Build​,3秒编译完成!

/* main.c */
#include "stm32f4xx.h"

int main(void) {
    // 开启GPIOA时钟
    RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN;
    // 设置PA5输出
    GPIOA->MODER |= GPIO_MODER_MODER5_0;
    while (1) {
        GPIOA->ODR ^= (1 << 5); // 翻转PA5
        for (volatile int i = 0; i < 1000000; i++);
    }
    return 0;
}

编译命令(第一次会自动安装缺失工具链):

Ctrl+Shift+B  # 或者点击 ST 图标 → Build

烧录 & 调试也同理,点一键就行,省心省力。

深挖功能:亮点满满

自动检测 .c/.cpp/.h/.hpp 文件,智能收集依赖

单项目配置:STM32-for-VSCode.config.yaml,可自定义编译选项、库路径

支持导入STM32CubeIDE项目 & 官方示例库

一键安装:GNU Arm Toolchain、Make、OpenOCD、CubeMX…全都帮你搞定

优缺点一览

| 优点 | 缺点 |
| --- | --- |
| 开源免费,跨平台(Win/macOS/Linux) | 需要手动把main.c改为main.cpp才能用C++ |
| 与CubeMX无缝结合,Makefile稳定 | 部分高级配置需自己动手改yaml |
| 自动配置 IntelliSense,智能补全 | VSCode插件生态受限于Host性能 |
| 一键安装工具链,告别环境变量折腾 | 对OpenOCD/JTAG适配有时需调整脚本 |

小结 & 推荐理由

总的来说,STM32 for VSCode 最大的魅力就在于「一站式」与「自动化」。你不需要再手动写脚本、琢磨环境变量,也不用切来切去几个IDE,VSCode里就能完成从CubeMX配置→编译→烧录→调试的全流程。喜欢折腾工具链、追求工作流一致性的朋友,这个插件绝对值得一装。赶紧动手试试,让你的VSCode秒变STM32开发工厂吧!

项目地址: https://github.com/bmd-studio/stm32-for-vscode

最后修改:2025 年 08 月 09 日
如果觉得我的文章对你有用,请随意赞赏