VS代码/MinGW智能不适用于C++

VS Code/MinGW intellisence not working for C++

本文关键字:不适用 适用于 C++ 智能 MinGW 代码 VS      更新时间:2023-10-16

我的头文件中有一个模板类,我还需要一个.hpp文件来实现函数。

问题出在VS代码或MinGW上。

在VS代码:

  • 我安装了Microsoft的C/C++扩展
  • 这是我的c_cpp_properties.json文件:

    {
    "configurations": [
    {
    "name": "Win32",
    "intelliSenseMode": "clang-x64",
    "includePath": [
    "${workspaceRoot}",
    "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++",
    "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/mingw32",
    "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/backward",
    "C:/MinGW/lib/gcc/mingw32/6.3.0/include",
    "C:/MinGW/include",
    "C:/MinGW/lib/gcc/mingw32/6.3.0/include-fixed"
    ],
    "defines": [
    "_DEBUG",
    "UNICODE",
    "__GNUC__=6",
    "__cdecl=__attribute__((__cdecl__))"
    ],
    "browse": {
    "path": [
    "C:/MinGW/lib/gcc/mingw32/6.3.0/include",
    "C:/MinGW/lib/gcc/mingw32/6.3.0/include-fixed",
    "C:/MinGW/include/*"
    ],
    "limitSymbolsToIncludedHeaders": true,
    "databaseFilename": ""
    }
    }
    ],
    "version": 3
    

    }

  • 这是我的settings.json(如果需要):

    {
    "files.associations": {
    "iostream": "cpp",
    "ostream": "cpp",
    "*.tcc": "cpp",
    "cctype": "cpp",
    "clocale": "cpp",
    "cstdint": "cpp",
    "cstdio": "cpp",
    "cstdlib": "cpp",
    "cwchar": "cpp",
    "cwctype": "cpp",
    "exception": "cpp",
    "initializer_list": "cpp",
    "iosfwd": "cpp",
    "istream": "cpp",
    "limits": "cpp",
    "new": "cpp",
    "stdexcept": "cpp",
    "streambuf": "cpp",
    "system_error": "cpp",
    "type_traits": "cpp",
    "typeinfo": "cpp",
    "fstream": "cpp"
    },
    "C_Cpp.intelliSenseEngineFallback": "Enabled"
    }
    

我已将文件目录包含在Windows中的环境变量设置中。

主要问题是在VS代码中,当我打开问题窗口时,intellisense不适用于.hpp文件。这件事发生在我和我所知道的另一个人身上。有人知道修复方法吗?

我相信这就是我们所需要的一切。(我已经包含了VS Code与编译器对话的所有内容)

删除{"name": "Win32"{..}}部分并将以下部分添加到"configurations":

{
"name": "MinGW",
"intelliSenseMode": "clang-x64",
"compilerPath": "C:/MinGW/bin/gcc.exe",
"includePath": [
"${workspaceRoot}",
],
"defines": [
"_DEBUG"
],
"browse": {
"path": [
"C:/MinGW/lib/gcc/mingw32/6.3.0/include",
"C:/MinGW/lib/gcc/mingw32/6.3.0/include-fixed",
"C:/MinGW/include/*"
"${workspaceRoot}",
],
"limitSymbolsToIncludedHeaders": true,
"databaseFilename": ""
}
}

它在MinGW的windows上对我有效。

参考:https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/LanguageServer/MinGW.md

尝试替换行

"C_Cpp.intelliSenseEngineFallback": "Enabled"

下方的线路

"C_Cpp.intelliSenseEngine": "Default"

并重新启动VS Code。

相关文章: