我最近开始为Arduino开发。最初我使用的是Arduino IDE,但我很快意识到它达不到标准。开发速度相当慢,需要时不时地重启IDE。我找到了带有Arduino扩展的VS Code,我开始喜欢上它了。然而,我有一些问题,我不确定如何解决它。
首先,vs代码抛出#include错误,并要求我更新IntelliSense。无论它如何构建/上传和运行得很好,它也会找到在上述包含中定义的类等,所以它看起来在某种程度上是一个误报(即路径包含在includePath设置中)。读取错误消息还显示它在查找Arduino.h中引用的名为"avr/pgmspace.h“的头文件时出现问题。我不确定这些错误是否相关。找不到pgmspace.h (它应该包含在Arduino SDK中)。
最后,由于#include错误,与该特定头文件相关的任何内容都不会正确突出显示,而只是普通的灰色文本,这有点烦人。
有人知道怎么解决这个问题吗?我在用Mac btw。
发布于 2019-11-13 22:57:20
被接受的答案对我不起作用。找不到也无法创建c_cpp_properties.json文件。此外,我希望它是全局的,而不仅仅是一个项目/工作区/文件夹。
因此,对于json 1.14 (2019),我只需导航到settings.json (全局),并添加以下json部分:
"C_Cpp.default.includePath": [
"C:/Program Files (x86)/Arduino/libraries/**",
"C:/Program Files (x86)/Arduino/hardware/arduino/avr/cores/arduino/**",
"C:/Program Files (x86)/Arduino/hardware/tools/avr/avr/include/**",
"C:/Program Files (x86)/Arduino/hardware/tools/avr/lib/gcc/avr/5.4.0/include/**",
"C:/Program Files (x86)/Arduino/hardware/arduino/avr/variants/standard/**",
"C:/Users/<YOUR USERNAME>/.platformio/packages/framework-arduinoavr/**",
"C:/Users/<YOUR USERNAME>/Documents/Arduino/libraries/**",
"{$workspaceFolder}/libraries/**",
"{$workspaceFolder}/**"
],
"C_Cpp.intelliSenseEngine": "Tag Parser"
发布了另一个答案,其中包含整个过程和有关该方法的所有细节:Visual Studio Code includePath
发布于 2021-05-23 20:17:54
我使用VSC作为代码编辑器,只需要智能感知。我在arduino IDE首选项中设置了“使用外部编辑器”,并使用它进行编译和上传。
我的win用户名是"bunny“,Sketchbook的位置是"C:\person\Arduino”,以了解文件夹。我使用的是最新的VSC (1.56.2)和ArduinoIDE (1.8.13)
我的settings.json就像这样,可以很好地使用所有的库,比如esp8266等:
{
"C_Cpp.intelliSenseEngine": "Tag Parser",
"C_Cpp.default.browse.path": [
"c:/Person/Arduino/libraries",
"c:/Person/Arduino/hardware",
"c:/Program Files (x86)/Arduino/hardware",
"c:/Program Files (x86)/Arduino/libraries",
"c:/Users/Bunny/AppData/Local/Arduino15/packages",
"${workspaceFolder}"
]
}
https://stackoverflow.com/questions/52234438
复制相似问题