为什么当我定义其他包含路径时,VS Code的C/C++扩展IntelliSense会“忘记”默认系统包含路径?

u4vypkhs  于 2024-01-06  发布在  其他
关注(0)|答案(1)|浏览(119)

为了清楚起见,我想添加另一个包含路径,而不是完全覆盖默认的包含路径。
我知道c_cpp_properties.json configurations.includePath属性,但它似乎完全覆盖了包含路径。
当然,我可以弄清楚包含路径的完整列表是什么,但这似乎是一堆针对配置的工作,并且是一个持续的维护难题。我想要像configurations/additionalIncludePath这样的东西,只是添加到列表中。

z31licg0

z31licg01#

includePath的文档说明(link):
如果在安装了Visual Studio的Windows上,或者如果在compilerPath设置中指定了编译器,则无需在此列表中列出系统包含路径
引用compilerPath的文档:
扩展将查询编译器以确定用于智能感知的系统包含路径和默认定义。
输入"compilerPath": ""(空字符串)将跳过查询编译器。如果指定的编译器不支持用于查询的参数,这很有用,因为扩展将默认返回到它可以找到的任何编译器(如Visual C)。省略compilerPath属性不会跳过查询。
所以如果我理解正确的话,要么你已经将compilerPath设置为空字符串,要么你在Windows上,而不是使用Visual Studio,在这种情况下,你要么需要满足这些要求,要么在includePath中手动指定系统包含路径。
还请注意,您可以指定系统包含路径作为设置,C_Cpp.default.systemIncludePath,相关文档在这里和这里。

相关问题