【问题标题】:How to ignore single file #include warning in Visual Studio Code?如何在 Visual Studio Code 中忽略单个文件 #include 警告?
【发布时间】:2022-07-25 16:53:42
【问题描述】:

我最近切换到 Visual Studio Code 作为更复杂的 Arduino 项目的 IDE。

为了避免与 Arduino 内置库的 #include 语句相关的“无法打开源文件”警告,我已经将 Arduino 目录添加到 IntelliSence includePath 设置中。

不幸的是,两个外部库确实包含用于旧 Arduino 版本的#include

#if ARDUINO >= 100
#include "Arduino.h"
#else
extern "C" {
#include "WConstants.h" // <-- this is the first
}
#endif

#if ARDUINO >= 100
#include <Arduino.h>
#else
#include "WProgram.h" // <-- this is the second
#include "pins_arduino.h" // <-- this one was found in Arduino dir
#endif

由于此文件不再是 Arduino 环境的一部分,因此我收到警告。

问题:如何从 Visual Studio Code 的 IntelliSense 中排除有关 WConstants.hWProgram.h 的警告而不停用任何其他包含警告?

我不确定这是否与Visual Studio Code include single file on excluded path 有关。

【问题讨论】:

  • this 回答你的问题了吗?
  • 感谢您的回复。不幸的是,事实并非如此。链接的问题仅解决了正确的包含路径,我已经这样做了。我遇到的问题是我的 PC 上不存在上述库,因为它们不包含在最近的 Arduino IDE 中,并且包含在库中只是为了向后兼容。因此,我只想忽略那些特定的包含警告。

标签: visual-studio-code arduino


【解决方案1】:

感谢post in Arduino forum,我找到了解决方案:

Arduino IDE 添加了一个宏及其版本。因此,在 vscode 配置中添加 ARDUINO=10813 会使 WProgram.hWConstants.h 的包含无效,因此不再包含警告。

通过添加USBCON 可以为Serial 库实现类似的效果。

所以 vscode 配置应该是这样的:

{
    "configurations": [
        {

            ...

            "defines": [
                "USBCON",
                "ARDUINO=10813"
            ],

            ...

        }
    ],

}

【讨论】:

    猜你喜欢
    • 2017-07-27
    • 1970-01-01
    • 2018-11-13
    • 2017-04-18
    • 1970-01-01
    • 2015-07-10
    • 1970-01-01
    • 1970-01-01
    • 2020-02-06
    相关资源
    最近更新 更多