使用 Keil MDK 进行嵌入式开发时,Keil 的编辑器相对于主流编辑器而言有些不方便,比如缺少暗色主题、缺少智能悬停感知(鼠标停在一个宏上,能自动展开最终的宏结果)、代码补全不好用等等,所以推荐使用 VS Code 来代替 Keil 的编辑器。本文用于记录所需的设置项。

如果是第一次使用 vscode ,推荐先看一下《基于Windows 的 VS Code C/C++ 编译环境搭建》这篇文章。

软件安装

安装 VS Code安装 C/C++ 插件

软件用法和设置

使用 VS Code 打开 Keil 工程 打开 VS Code,点击 File - Open Folder... 选中 Keil 工程文件夹。 保存工作区(可选) 主要目的是下次可以双击这个工作区图标来打开工程,一个 Keil 工程只需要保存一次。 添加头文件 Keil 工程文件夹内的头文件会自动查找,但工程依赖的一些头文件可能存在其它地方。所有不在工程文件夹内的头文件,都需要手动添加。

添加编译器提供的头文件 编译器提供一些特定头文件和 C 库头文件,比如 stdint.h,缺少这个头文件,VS Code 识别不了代码中的 uint32_t 。 添加 CMSIS 提供的头文件 其它 首先按下 F1 ,输入 c/c++ 选择C/C++:Edit configurations(UI): 在 Include path 中填入需要的头文件路径(注意:我这里使用的是 Keil MDK 编译器)。 添加宏 编译器会自带一些宏,比如 Keil 编译器则会定义宏 __CC_ARM,而有些代码和头文件会使用这些宏,在使用 VS Code 的时候就会找不到这些宏,从而导致语法错误。这些与编译器相关的宏需要我们自己添加。 在 Defines 中,填入需要的宏(注意:我这里使用的是 Keil MDK 的 ARMCLANG编译器) 从 Keil 中打开 VS Code工作区(可选) Run Independent: 勾选,这样Keil不用等待VSCode执行完成。(这样就可以使用其它自定义工具菜单)。 隐藏不需要的文件和文件夹(可选)

按下 ctrl+shift+P 打开显示所有命令,在输入框中输入settings 回车进入 User Settings 页面搜索 files.exclude

一些已知问题和解决办法

1 补全失效、无法跳转

文件第一行的 include 会有红波浪,报错提示 command-line error:language modes specified are incompatible;vscode 无法正确的着色部分代码,比如宏;补全功能完全失效;无法进行文件跳转;

我的工程中使用了 cMake 构建,然后出现了这个问题,也就是 vscode 无法找到头文件了。

解决办法:Ctrl + Shift + P ,输入 configurationProvider 将 CMake Tools 改为 none 。

2 不小心关闭了错误检测

解决办法:Ctrl + Shift + P ,输入 errorSquiggles,选择 Enable。

3 快捷键 Ctrl + Shift + F 无反应

大概率和其它软件的快捷键冲突了。 这里给出一个 Win10 系统会冲突的软件:输入法 打开 设置 界面,点击“时间和语言”界面,在弹出的界面中(如下图所示),点击右侧的 语言 - 中文(简体,中国) - 选项 。 在弹出的“语言选项”中,点击 微软拼音 - 选项 ; 在弹出的“微软拼音”中,点击 按键; 在弹出的“按键”中,找到 热键,关闭“简体/繁体中文输入切换”:

这还没完,如果你安装了“搜狗输入法”,还需要找到 搜狗输入法 - 设置 - 按键 - 系统功能快捷键设置 ,把其中的“简繁切换”关闭(或修改成其它快捷键)。

4 打开的文件中文乱码

可能是 Vs Code 使用的编码与 keil 使用的编码不同导致的。假设 keil 使用 GB2312 编码,将 Vs Code 的编码改为 GB2312 的方法如下:

点击左下角齿轮图标 - Settings,打开设置界面搜索 “encoding”,找到 Files:Encoding ,选择 Simplified Chinese (GB 2312) 编码。

读后有收获,资助博主养娃 - 千金难买知识,但可以买好多奶粉 (〃‘▽’〃)

精彩链接

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: