目录
简述
编辑
一、前期的准备工作
二、VS Code安装Keil Assistant插件
三、VS Code导入加载 Keil 工程
四、解决VS Code中文乱码
五、VS Code编译与烧录
六、常见问题
简述
vscode 上的 Keil 辅助工具,与 c/c++ 插件配合使用.
能够为 Keil 项目提供 语法高亮、代码片段 的功能,并支持对 keil 项目进行 编译、下载。
功能特性
- 加载 Keil C51/ARM 项目,并以 Keil 项目资源管理器的展示方式显示项目视图
- 自动监视 keil 项目文件的变化,及时更新项目视图
- 通过调用 Keil 命令行接口实现 编译,重新编译,烧录 keil 项目
- 自动生成 c_cpp_properties.json 文件,使 C/C++ 插件的语法分析能正常进行
用法
准备工作
- 安装 C/C++ 插件
- 进入 Keil-Assistant 插件设置,设置好 keil 可执行文件 UV4.exe 的绝对路径
开始使用
- 在 Keil 上创建好项目,添加好文件,头文件路径等
- 点击打开项目图标 或者使用 vscode 直接打开 keil 项目文件(.uvproj) 所在的目录,插件会自动加载 keil 项目;
一、前期的准备工作
本方法依赖已安装好的 VSCode、Keil。
1、VSCode
安装官方 VSCode 即可。
https://code.visualstudio.com/
2、Keil MDK
请确保已安装 Keil MDK (建议v5 以上)及对应的芯片支持包。
保证在 Keil 中可正常编译、烧录 你的 STM32 工程。
二、VS Code安装Keil Assistant插件
插件 Keil Assistant的设计理念非常纯粹:
“既然Keil MDK的编辑功能不好用,那我就用VSCode来取代它”。
它充当 VSCode 与 Keil MDK 之间的桥梁,通过调用 Keil 的命令行接口实现编译、烧录,因此编辑使用 VSCode,后端仍依赖 Keil。
其实就是VS Code页面看着比较帅,比较装逼,嘿嘿
1、安装插件Keil Assistant
点击 VSCode 左侧活动栏的【扩展】
搜索:Keil Assistant
点击:【安装】,安装完成后如弹出信任提示窗口,请选择【信任】
2、配置 keil MDK 可执行文件路径
最左下角:【齿轮】>> 【设置】
在搜索框输入:Keil
在扩展列表中找到:Keil Assistant
在 Keil Assistant MDK 的输入框中填写:keil 的 UV4.exe 完整路径
典型路径示例:D:\Keil_v5\UV4\UV4.exe (请以你的实际路径为准)实际路径示例:D:\Software\Keil5\keil5_MDK-ARM\UV4\UV4.exe
实际路径示例:
安装完成后,资源管理器左侧出现面板:Keil UVision Project (如下图)
三、VS Code导入加载 Keil 工程
1、打开工程文件
- 资源管理器栏中,展开 Keil UVision Project 左边箭头, 点击右侧的【彩色加号】按钮
- 在弹出的文件选择窗口中,选择您的 Keil 工程文件 ( .uvprojx 或 .uvproj )。
2、弹窗:切换空间
- 右下角弹出提示:"keil 工程加载完成,是否切换到工作空间?", 点击:【OK】
3、弹窗:信任文件作者
- 若有弹窗提醒:“是否信任文件作者?”,点击:【是】
4、加载完成后的状态
资源管理栏变化如下图:
- 【Keil UVision Project 】 下方会显示您的工程名称,展开可看到工程分组及源文件
- 附带的【MDK-ARM】面板无需关注,可以折叠起来。
5、工程展开后的分组及源文件
四、解决VS Code中文乱码
Keil 默认使用GB2312(或 GBK)编码,而 VSCode 默认UTF-8,导致打开含中文的源文件时出现乱码 。
不建议修改 VSCode 全局默认编码为 GB2312,以免影响其他项目 。
不建议使用Change String Encoding 等插件转换文件编码,容易引发不可逆的问题。
这里提供两种解决方案,您可以根据自己的情况选择。
方案一:开启 VSCode 自动编码猜测(推荐!一次设置,长期有效,适合所有文件)
这是最省心的方法,开启后,VSCode 会尝试自动匹配文件的原始编码,大部分情况下能直接解决乱码。
- 点击左下角 【齿轮图标】>> 【设置】。
- 在搜索框中输入:encoding
- 勾选 :“Files: Auto Guess Encoding”。
- 关闭乱码的文件,重新打开文件,乱码消失。
方案二:手动调整编码(按需修复单个文件)
- 打开乱码的文件
- 点击 VSCode 右下角状态栏的编码按钮(通常显示 “UTF-8”)
- 在弹出的菜单中,点击第一项 【通过编码重新打开】
- 在列表中搜索、选择: Simplified Chinese (GB2312)
- 文件中的中文立即恢复正常,且不影响其它文件
五、VS Code编译与烧录
鼠标悬停或点击项目名称时,右侧出现三个按钮:编译、烧录、重新编译。(如下图)
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` 中的最新配置。
六、常见问题
1、点击 编译/烧录 按钮没有反应,或者提示找不到 UV4.exe?
检查 Keil Assistant 插件设置中的keil-assistant.uv4Path是否正确指向你电脑上的UV4.exe
2、编译成功但烧录失败,提示“No Debugger Connected”?
在 Keil 中打开工程,确认仿真器驱动安装正确,并且在【Debug 】选项卡中选择了正确的调试器(如 ST-Link、JLink)。
3、工程中使用了中文文件名或路径,编译报错?
Keil 命令行对非 ASCII 字符支持不佳,请将工程移到纯英文路径下,并避免中文文件名。
4、Keil Assistant 是否支持调试(单步、断点)?
不支持。该插件仅实现编译、重新编译、烧录。如需调试,可配合 Cortex-Debug 等插件 + OpenOCD 独立配置,需要自行编写配置文件(如 .vscode/launch.json)。