使用Visual Studio Code开发Arduino踩坑日记(持续更新)
文章目录
- 使用Visual Studio Code开发Arduino踩坑日记(持续更新)
- 在browse.path中未找到包含文件
-
- 问题描述
- 问题分析
- 解决思路
- 解决过程
- 附:查看库文件位置
环境描述:
- Windows10
- 由于项目要求Arduino IDE 1.5.2,亲测最新版本也可
- VScode 1.49.3 (user setup)
- Arduino插件 0.3.2
在browse.path中未找到包含文件
问题描述
在Arduino原生IDE中导入库没有问题,但是在VScode中导入库则有蓝色波浪线提示错误,底端调试控制台问题描述选项卡报错
截图如下

问题分析
VScode编辑Arduino文件实际上是调用的Arduino原生的IDE,因此所有的编译验证和上传本质上都是用的Arduino原生的IDE
而VScode则提供了文本编辑功能,包括代码补全和提示
Arduino的语法类似于C/C++,因此在Arduino中是使用C/C++的插件来提供代码补全和提示
所以问题出现在C/C++插件,C/C++插件找不到导入的库文件的位置,因此无法进行代码提示和补全
出现该问题就意味着一定安装了该插件,这个插件是微软官方出品的用于增强C/C++代码补全,提示,debugging和代码浏览的插件

因此问题就出现在该插件的库文件搜索路径上
解决思路
我们只需要编辑C/C++插件的库文件搜索路径,为其添加Arduino的库文件路径即可
VScode的所有插件的配置文件都保存在
而VScode配置文件又分为全局配置文件和局部配置文件,局部配置文件就是当前工程项目的文件夹下的
局部配置文件如下,这里我的工程文件,即打开的文件是

全局配置文件位置取决于安装的模式,是仅当前用户可用(user setup)还是此电脑所有人均可用,不同的安装模式全局的配置文件位置不同
我这里是仅当前用户(详见环境描述),因此全局配置文件位置在如下路径
因此只需要在当前项目配置文件夹和全局配置文件夹下创建C/C++插件的配置文件,编辑相同内容即可(避免因为配置文件不同造成冲突)
此外,由于我们安装的Arduino插件中也会设定调用C/C++插件时候默认的搜索位置,因此我们还需要编辑Arduino插件中调用C/C++插件时候的路径搜索位置
解决过程
-
编辑局部配置文件夹下创建
.vscode 文件夹(如果有则不用创建),在其中创建c_cpp_properties.json 文件,即C/C++配置文件写入如下内容
需要注意的是,这里7,8,9三行是我自己的库文件位置,在配置自己的
c_cpp_properties.json 文件需要改成自己的库文件位置,查看自己的库文件位置后面有介绍第七行
** 表示当前文件夹下所有文件及文件夹都是库文件1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20{<!-- -->
"configurations": [
{<!-- -->
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"C:\\Program Files\\Arduino-1.5.2\\hardware\\arduino\\avr\\libraries\\**",
"C:\\Program Files\\Arduino-1.5.2\\libraries",
"C:\\Users\\22321\\Documents\\Arduino\\libraries"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"intelliSenseMode": "msvc-x64"
}
],
"version": 4
}
保存
-
编辑局部配置文件
将上面的局部配置文件c_cpp_properties.json 复制到全局的配置文件
-
编辑Arduino插件配置文件



添加如下内容
1
2
3
4
5"C_Cpp.default.browse.path": [
"C:\\Program Files\\Arduino-1.5.2\\hardware\\arduino\\avr\\libraries\\**",
"C:\\Program Files\\Arduino-1.5.2\\libraries",
"C:\\Users\\22321\\Documents\\Arduino\\libraries"
],
-
保存,重启VScode,问题解决

附:查看库文件位置
Arduino库文件包含自带库文件和第三方库文件,第三方库文件通常位于如下路径

自带库文件位置通常位于ArduinoIDE 安装的位置,查看Arduino IDE安装位置就不说了








