VSCode 开发 STM32 的 Keil工程 (Keil Assistant)
【VSCode高效开发STM32指南】本文介绍如何通过KeilAssistant插件在VSCode中实现STM32开发环境的优化配置。教程包含五个关键步骤:1)安装VSCode和KeilMDK基础环境;2)配置KeilAssistant插件并设置MDK路径;3)加载Keil工程文件;4)解决中文编码乱码问题(提供自动猜测和手动调整两种方案);5)实现编译烧录功能。该方法保留了Keil的编译烧录功能
目前大多数 STM32 项目仍以 Keil MDK 工程为主,但 Keil 的编辑器功能较弱、界面陈旧。
本篇教程将示范如何在 VSCode 中安装、使用 Keil Assistant 插件,无缝集成 Keil MDK 的编译与烧录功能,同时享受 VSCode 强大的编辑体验。
目录
一、准备工作
本方法依赖已安装好的 VSCode、Keil。
1、VSCode
安装官方 VSCode 即可。
插件及参数配置,将在下文图解。
若未安装VSCode, 可参考:【 VSCode 安装教程 】
2、Keil MDK
请确保已安装 Keil MDK (建议v5 以上)及对应的芯片支持包。
保证在 Keil 中可正常编译、烧录你的 STM32 工程。
若未安装 Keil,可参考:【 Keil 安装教程】
二、安装 Keil Assistant 插件
插件 Keil Assistant 的设计理念非常纯粹:
“既然Keil MDK的编辑功能不好用,那我就用VSCode来取代它”。
它充当 VSCode 与 Keil MDK 之间的桥梁,通过调用 Keil 的命令行接口实现编译、烧录,因此编辑使用 VSCode,后端仍依赖 Keil。
1、安装插件 Keil Assistant
- 点击 VSCode 左侧活动栏的【扩展】
- 搜索:Keil Assistant
- 点击:【安装】,安装完成后如弹出信任提示窗口,请选择【信任】

2、配置 keil MDK 可执行文件路径
- 最左下角:【齿轮】>> 【设置】

- 在搜索框输入:Keil
- 在扩展列表中找到:Keil Assistant
- 在 Keil Assistant MDK 的输入框中填写:keil 的 UV4.exe 完整路径
- 典型路径示例:D:\Keil_v5\UV4\UV4.exe (请以你的实际路径为准)

- 安装完成后,资源管理器左侧出现面板:KEIL UVISION PROJECT (如下图)

三、加载 Keil 工程
1、打开工程文件
- 资源管理器栏中,展开 KEIL UVISION PROJECT 左边箭头, 点击右侧的【彩色加号】按钮
- 在弹出的文件选择窗口中,选择您的 Keil 工程文件 ( .uvprojx 或 .uvproj )。

2、弹窗:切换空间
- 右下角弹出提示:"keil 工程加载完成,是否切换到工作空间?", 点击:【OK】

3、弹窗:信任文件作者
- 若有弹窗提醒:“是否信任文件作者?”,点击:【是】

4、加载完成后的状态
资源管理栏变化如下图:
- 【KEIL UVISION PROJECT 】 下方会显示您的工程名称,展开可看到工程分组及源文件
- 附带的【MDK-ARM】面板无需关注,可以折叠起来。

5、工程展开后的分组及源文件

四、解决中文乱码
Keil 默认使用 GB2312(或 GBK)编码,而 VSCode 默认 UTF-8,导致打开含中文的源文件时出现乱码。

不建议 修改 VSCode 全局默认编码为 GB2312,以免影响其他项目。
不建议 使用Change String Encoding 等插件转换文件编码,容易引发不可逆的问题。
这里提供两种解决方案,您可以根据自己的情况选择。
方案一:开启 VSCode 自动编码猜测(推荐!一次设置,长期有效,适合所有文件)
这是最省心的方法,开启后,VSCode 会尝试自动匹配文件的原始编码,大部分情况下能直接解决乱码。
- 点击左下角 【齿轮图标】>> 【设置】。
- 在搜索框中输入: encoding
- 勾选 :“Files: Auto Guess Encoding”。
- 关闭乱码的文件,重新打开文件,乱码消失。

方案二:手动调整编码(按需修复单个文件)
- 打开乱码的文件
- 点击 VSCode 右下角状态栏的编码按钮(通常显示 “UTF-8”)
- 在弹出的菜单中,点击第一项 【通过编码重新打开】
- 在列表中搜索、选择: Simplified Chinese (GB2312)
- 文件中的中文立即恢复正常,且不影响其它文件
五、编译与烧录
鼠标 悬停 或 点击 项目名称时,右侧出现 三个按钮:编译、烧录、重新编译。(如下图)

1、编译
点击【编译】按钮,Keil Assistant 将自动调用 keil 命令进行编译,并实时在信息栏显示进度与输出信息。

2、烧录
重要:Keil Assistant 不能直接配置仿真器(STLink、JLink、DAPLink 等),所以烧录参数均 继承自 Keil 工程。
点击【烧录】按钮时,插件会使用您在 Keil 工程中最后保存的仿真器配置和烧录算法。

修改仿真器的方法:(参考下图)
- 用 Keil MDK 打开该工程
- 打开 Keil 的【目标选项】(Project / Options for Target),切换到【Debug】选项卡, 即可修改仿真器。进入【Setting】可修改详细参数
- 点击 Keil 工具栏中的【全部保存】按钮
- 回到 VSCode 直接点击【烧录】即可生效
无需在 VSCode 中重新加载工程,插件每次烧录都会读取 `.uvprojx` 中的最新配置。

六、常见问题
Q1:点击 编译/烧录 按钮没有反应,或者提示找不到 UV4.exe?
A:请检查 Keil Assistant 插件设置中的 keil-assistant.uv4Path 是否正确指向您电脑上的 UV4.exe
Q2:编译成功但烧录失败,提示“No Debugger Connected”?
A:请在 Keil 中打开工程,确认仿真器驱动安装正确,并且在【Debug】选项卡中选择了正确的调试器(如 ST-Link、JLink)。
Q3:工程中使用了中文文件名或路径,编译报错?
A:Keil 命令行对非 ASCII 字符支持不佳,请将工程移到纯英文路径下,并避免中文文件名。
Q4:Keil Assistant 是否支持调试(单步、断点)?
A:不支持。该插件仅实现编译、重新编译、烧录。如需调试,可配合 Cortex-Debug 等插件 + OpenOCD 独立配置,需要自行编写配置文件(如 .vscode/launch.json)。
更多推荐



所有评论(0)