VS代码/MinGW智能不适用于C++
VS Code/MinGW intellisence not working for C++
我的头文件中有一个模板类,我还需要一个.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。
相关文章:
- FLTK 2.0构建和演示,适用于VS2019的2011年左右的代码库
- "string.h"在构建适用于iOS的qt应用程序中找不到消息
- 为什么 std::erase(std::erase_if) 不是适用于<algorithm>任何容器的模板?
- 为什么这适用于 G++ 而不是 CLANG?
- 为什么不区分大小写适用于 std::unordered_set的 std::hash 函数?
- 声明适用于 auto,但不能显式声明类型?
- 什么是通用运行时组件 #ifdef 适用于Windows(UWP)而不是iOS
- Windows 上的 Cmake 不添加共享库路径(适用于 linux)
- Typedef适用于结构,但不适用于枚举,仅适用于C++
- 为什么函数模板不理解 NULL,但适用于 nullptr
- 链接器读取库,但在其中找不到符号?未解析的外部符号,但仅适用于 Win32 而不是 x64
- Netbeans 8.1(适用于 C/C++)找不到我的编译器(gcc-6.0.0 开发版本)
- random_shuffle() 适用于 Windows,但不能在 Linux 上编译
- C++指针到方法模板推导在面向 x86 时不编译,但适用于 x64
- 不在异常中嵌入std::字符串的规则是否仍然适用于move构造函数
- 移动文件夹Windows c++:适用于Vista及以上版本,不包括XP
- 适用于Android的Qt找不到任何兼容的设备答案找到但不知道如何
- 在Windows 7上不起作用,但它适用于Windows 8 dll。
- 可变参数模板转换为 std::function<R(ARGS...)>适用于 GCC 而不是 MSVC2013,为什么?
- C++11 cmath 函数不在 std 命名空间中,适用于 android NDK w/gcc-4.8 或 clang