NodeMCU 和 VS 代码

NodeMCU and VS Code

我正在使用 NodeMCU 进行一个小项目,这是一种相当典型的温度传感器类型,会向我自己的 Web 服务报告。

我使用 Arduino IDE 获得了它的基本工作原理,但我决定我想要一个更强大的编辑器,所以我转而使用 Visual Studio 代码。它工作正常,草图打开、编译并毫无问题地上传到板上。 VS Code 是比 Arduino IDE 更好的编辑器。

除了 VS Code 将 2 个标识符标记为未知。

首先是显示的U8G2_SSD1306_128X32_UNIVISION_F_HW_I2C,还有D7作为管脚定义。在这两种情况下,我都可以将鼠标悬停在标识符上,按 F12,它会正确地显示相应头文件中的定义。 (奇怪的是,对于 pins_arduino.h 中的 D7 定义,它也将 uint8_t 标记为未定义,但当我按 F12 时也会显示其定义)

正如我所说,尽管如此,草图编译、上传和运行都很好。我可以忽略错误,但我的强迫症不允许。 ;)

我安装了 Arduino for Visual Studio Code from Microsoft v0.2.29(最新版本)扩展,并安装了 ESP8266 Community board definitions v2.6.3。我正在使用 Oliver 的 U8g2 库,v 2.27.6。

有人对此有任何想法吗?

有同样的问题,看起来问题在于与默认 Arduino IDE 不同,此扩展不包括使用 Arduino 文件所需的最低限度库。 所以我不得不手动包含 Arduino.h

#include <Arduino.h>

然后您必须找到您的 pins_arduino 并将其位置添加到 includePath。 像这样,将 c_cpp_properties.json 中的 includePath 更改为:

"includePath": [
    "C:\Users\[USER]\AppData\Local\Arduino15\packages\esp8266\tools\**",
    "C:\Users\[USER]\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.0\**",
    "C:\Users\[USER]\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.6.0\variants\ESPDuino"
],

希望这能解决您的问题。