C++ Visual Studio代码:如何配置includePath以获得更好的IntelliSense结果
我是一个使用VisualStudio代码的完全初学者,我不知道我在做什么 我到处搜索过(可能还不够),但对于像我这样的人来说,我找不到一个简单的解释,说明如何配置C++ Visual Studio代码:如何配置includePath以获得更好的IntelliSense结果,c++,visual-studio-code,C++,Visual Studio Code,我是一个使用VisualStudio代码的完全初学者,我不知道我在做什么 我到处搜索过(可能还不够),但对于像我这样的人来说,我找不到一个简单的解释,说明如何配置c\u cpp\u properties.json文件,每当我点击一条带绿色斜线的线旁边的黄色灯泡时,就会重定向到该文件 我只想知道在.json中放入什么才能使IntelliSense正常工作。来自: 下面可以看到,MINW C++包含路径已经添加到BuffSE.PATH for Windows: 从C/C++扩展的官方文档中: 配
c\u cpp\u properties.json
文件,每当我点击一条带绿色斜线的线旁边的黄色灯泡时,就会重定向到该文件
我只想知道在.json
中放入什么才能使IntelliSense正常工作。来自:
下面可以看到,MINW C++包含路径已经添加到BuffSE.PATH for Windows:
从C/C++扩展的官方文档中: 配置includePath以获得更好的IntelliSense结果 如果在VisualStudio代码中打开文件夹时看到以下消息,则意味着C++智能感知引擎需要附加文件,其中包含了包含文件的路径。 包含路径在哪里定义? 包含路径在位于打开文件夹的.vscode目录中名为c_cpp_properties.json的文件中的“includePath”
设置中定义
您可以使用命令调色板中的“C/Cpp:Edit Configurations”
命令,或选择灯泡菜单中的“Edit”includePath“setting”
来创建或打开此文件(请参见下面的屏幕截图)。找到灯泡的最快方法是滚动到源文件的顶部,然后单击显示在#include语句下的任何绿色曲线
打开文件夹时,扩展将尝试根据您的操作系统定位您的系统标题,但它不知道您的项目所依赖的任何其他库。您可以将鼠标悬停在绿色曲线上或打开“问题”窗口,以了解IntelliSense引擎无法打开的标题-有时无法找到的是相关标题
如何指定包含路径?
您可以使用下面描述的技术之一指定其余路径
“includePath”
和“defines”
的信息,该文件可以由许多构建系统(如CMake和Ninja)自动生成。查找定义当前配置的部分(默认情况下,每个操作系统有一个配置,如“Win32或“Mac”),然后设置“compileCommand”“c\u cpp\u properties.json中的
属性”包括“
和定义”
IntelliSense属性
“browse.path”
设置的路径,递归地搜索与代码使用的头文件匹配的潜在包含路径。单击#include statements下的绿色曲线,您将看到一个灯泡,提供允许IntelliSense解析包含文件的路径建议
如果在灯泡中看不到路径建议,请尝试将标题可能位于的根文件夹添加到c_cpp_properties.json中的“browse.path”
设置中。这允许扩展到递归地在这些文件夹中搜索,并在搜索过程中提供更多建议“includePath”
设置中添加路径,并在定义中定义路径“
设置。例如,下面的屏幕截图显示了指定Mac配置路径的文件片段
此外,对于MinGW,您可以要求gcc/g++列出自己的include文件:
gcc -v -E -x c++ nul
这表明智能感知引擎已经解决了包含路径,因此您可以开始享受当前编译单元的C或C++代码的完整智能感知。请注意,如果其他文件属于需要配置其他包含路径的不同翻译单元,则仍可能在这些文件上看到错误
如果这不能解决您的问题,请查看下面的MinGW配置,并尝试为相应/类似的头文件和文件夹设置Cygwin安装的适当位置。我已经安装了cygwin,你知道代码是什么吗?另外,当我输入任何与原始代码不同的代码时,它会给出一个错误“未能解析”e:\\.vscode\c\\.cpp\.json:Unexpected token]在json的1896位置“你只需复制/粘贴官方文档,是吗?你没有看到我答案的第一段文字吗?我自己一直在为VSCode的C/C++扩展的开发做出贡献,因此,我认为我有权至少复制、编辑和发布一部分文档,以供可能需要的人使用
gcc -v -E -x c++ nul