gpt4 book ai didi

c++ - Visual Studio Code 智能感知,使用 g++ 预定义的宏

转载 作者:行者123 更新时间:2023-11-30 03:26:21 27 4
gpt4 key购买 nike

我将 Visual Studio Code for c++ 与 MinGW 和 g++ 结合使用。我的代码使用了几个 g++ 预定义的宏。这些在编译器中工作没有任何问题,但 Intellisense 不知道宏,这会导致编辑器中出现一些误诊错误(和其他 Intellisense 问题)。

我可以使用此命令为我的特定 g++ 配置获取所有预定义的宏:

g++ -dM -E foo.cpp > defines.h

这允许我将它们插入到 c_cpp_properties.json 文件的“定义”属性中。虽然这个解决方案是一个 hack,如果我不小心,它可能会完全破坏这些宏的目的。我希望编译器和 Intellisense 能够跨多个开发平台协作,这看起来是一个非常复杂的设置。

有没有更好的方法让 Intellisense 知道 g++ 预定义的宏?

最佳答案

据我所知,Intellisense 正确处理预处理器宏的能力仍然有限。如果您将 CMake 用于 Makefile,您似乎可以告诉 Intellisense 您拥有哪些宏,如下所示:auto-defined macros .我个人没有玩过这个,但值得研究一下。

如果你不能让它工作,我发现了一个功能来关闭基于宏的突出显示。在设置中,将"C_Cpp.dimInactiveRegions" 设置为 false。这并不理想,因为它会停止所有变灰,包括像 if(0) {...} 这样的调试 block ,但这可能是一个临时修复,您可能会发现它不那么烦人。

除此之外,请仔细查看 future 更新中添加的功能。当我发现有关此事的任何新发现时,我会尝试更新这篇文章。

关于c++ - Visual Studio Code 智能感知,使用 g++ 预定义的宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48373212/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com