写在前面:

在学习和使用STM32系列芯片开发板时,一般会使用CubeMX配置工程+keil5开发的模式。但是我并不喜欢keil5的界面和配色方案(不好调),代码补全也很难用。而隔壁的VS Code的编程界面语法高亮以及AI插件非常好用,我就在思考如何将我代码编写的工作从keil5转移到VS Code中。

一开始,我采用的是很多人会选择的VS Code+STM32CubeIDE for Visual Studio Code插件的方案,但这种方案配置起来相当麻烦,从MDK-ARM转移到CMAKE也很容易出现一些问题,那么为了解决这些问题,我决定采用keil5和VS Code联合开发的方式,使用Keil5进行工程文件的配置和Debug;使用Keil Assistant插件,在VS Code中载入keil5的工程,进行程序的编写。

本文并非是在VS Code上面搭建STM32项目的详细教程,只是一种简单的在VS Code上面编辑下载Keil5工程的经验贴,只会介绍如何在现有的Keil5开发环境与VS Code进行对接,不会介绍如何下载安装和配置Keil5、CubeMX以及VS Code,有这类需求的的读者请移步【Keil 5安装】keil 5最新版本安装+环境配置+颜色设置详细教程_keil5安装教程-CSDN博客)。

这个开发方案可以做到的&还不能做到的:

可以使用VS Code进行代码的编译和下载:

Keil Assistant插件可以调用Keil5的编译器进行编译,只需要在插件设置中设置Keil的安装位置就可以做到和Keil5中一样的编译体验(实际上编译时间会慢一点点,但是无伤大雅)。也支持在VS Code中直接将代码下载至开发板,非常的方便。

无法在VS Code中使用调试功能:

Keil Assistant插件不能像STM32CubeIDE for Visual Studio Code插件一样在VS Code中进行调试,这一点还是比较遗憾,因此需要进行调试的时候还是得回到Keil5中。

无法在VS Code中添加工程文件或者删除文件:

在进行开发时,我们往往会需要新建一些文件来存放不同功能和类型的代码,但是Keil Assistant插件不能直接在VS Code中创建新的工程文件,要创建工程文件仍需回到Keil5中(VS Code会实时同步Keil5中的文件更改)

准备工作:

废话不多说,要实现在VS Code中开发STM32,你需要准备以下内容: - Keil - VS Code - Keil Assistant(VS Code插件) - C/C++(VS Code插件)

VS Code插件的安装:

如图,搜索并安装Keil Assistant插件。

如图,搜索并安装C/C++C/C++ Extension Pack插件。

Keil Assistant的使用:

如图,进入Keil Assistant的插件设置中。

将MDK的 UV4.exe 路径添加到这里。 插件的设置就完成了。

打开一个Keil5工程:

添加完插件后会出现KEIL UVISION PROJECT的选项卡,点击展开。

右边会出现一个添加工程的标签,点击后选择工程文件打开。

可以看到,整个工程就被添加进VS Code了。

把鼠标放在工程名上可以看见三个图标,分别是builddownload to devicerebuild

有一点需要注意,作者在插件说明中提到: 由于Keil只会在关闭时写入项目文件,因此在如果在更改完项目结构之后要刷新到插件,则需要关闭Keil

然后就可以在VS Code中愉快的写代码啦。