我正在尝试在 Visual Studio Code 中获取智能感知。我从市场下载了 C/C++ 扩展:https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools,并使用包
mingw32-base
和 mingw32-gcc-c++
安装了 MinGW。我将 MinGW bin
文件夹添加到环境变量中的 Path
。
当我在
include
文件中添加任何 .c
语句(例如 #include <stdio.h>
)时,Visual Studio Code 会显示:
Include file not found in include directory
我配置不正确吗?如何获得 C/C++ 的智能感知?
首先,确保在您的
c_cpp_properties.json
文件夹中创建一个.vscode
文件
提示:使用命令面板 (Ctrl+Shift+P) 并输入
C/Cpp: Edit Configurations
添加这样的包含路径:
{
"configurations": [
{
"name": "Win32",
"includePath": [
"path_to_your/MinGW/lib/gcc/mingw32/4.8.1/include/c++"
],
"browse": {
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
}
]
}
作为 wbmrcb 答案的扩展,我在 Windows Kits 目录下找到了头文件:
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10586.0\ucrt
在 Fedora linux 上,我添加了以下路径,我的所有 c 头文件都位于其中。
/usr/include/**
到 myc_cpp_properties.json 文件。
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**",
"/usr/include/**"
],
...
}
],
"version": 4
}
我正在使用 MinGW 8.1.0 和微软的 C/C++ 扩展,这对我有用 -
{
"configurations": [
{
"name": "Win32",
"includePath": [
"C:/mingw32/lib/gcc/i686-w64-mingw32/8.1.0/include/c++",
"C:/mingw32/lib/gcc/i686-w64-mingw32/8.1.0/include/c++/tr1",
"C:/mingw32/lib/gcc/i686-w64-mingw32/8.1.0/include/c++/i686-w64-mingw32"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"compilerPath": "C:/mingw32/bin/gcc.exe",
"cStandard": "c17",
"cppStandard": "c++17",
"intelliSenseMode": "windows-gcc-x64"
}
],
"version": 4
}
FWIW,我的项目(Win11,VSCode 1.77.3)中的一个文件遇到了这个问题。 VSCode 总是找到它,然后突然它开始显示为“未找到”。我关闭并重新启动 VSCode,问题就消失了。也许与OP的情况不同,但我只是想提一下。