我在64位Linux系统上使用VS代码为32位ARM uC开发嵌入式C应用程序。我所有的代码都将由VS Code不知道的另一个工具链在VM上交叉编译。我的一些代码将本地生成用于单元测试。 VS Code使用gcc 7.3.0作为其编译器
我有一个static_assertion在VS代码下出现红色花键,因为我断言offsetof
一个struct成员就是我所期望的。当我使用目标工具链构建代码时,此静态断言不会触发,此外,这不是我要进行单元测试的文件。有什么方法可以在不完全禁用IntelliSense的情况下抑制VS代码中的此问题?
我正在使用VS Code版本1.33.1。
编辑: 我可以根据配置定义静态断言。但是一些静态断言在这两种情况下都是有价值的。
另一种选择是将静态断言包装在一个带有参数的宏中,该参数针对一种配置或另一种配置将其隐藏。我想避免用这样的东西修饰我的代码,以帮助一个特定的编辑器。我的团队使用各种各样的编辑器,所以这是不可接受的。
我希望有一种方法可以为工作空间中的特定文件重新定义宏,或为特定文件隐藏特定的编译器错误代码。