如何让Visual Studio Code的错误波浪线适配C++17标准
解决VS Code中C++17模板特性的错误波浪线问题
我之前也碰到过一模一样的问题!你猜的没错,这确实是因为VS Code的代码检查模块(IntelliSense)默认没适配C17标准导致的——虽然你已经给Run Code扩展设置了C17的编译参数,但编辑器的错误波浪线和Run Code的编译逻辑是分开的两个系统,得单独配置IntelliSense的标准版本。
下面是具体的解决方法,两种方式选一个就行:
方式一:通过VS Code图形化设置修改
- 按下快捷键
Ctrl+,(Windows/Linux)或者Cmd+,(Mac)打开设置界面 - 在顶部搜索框输入
C++ Standard,找到C_Cpp: Standard这个选项 - 点击下拉菜单,选择
c++17(如果需要后续用更高版本的特性,选c++20之类的也可以)
方式二:手动修改配置文件
如果你的项目里已经有.vscode/c_cpp_properties.json文件(打开C++项目时VS Code通常会自动生成,没有的话可以手动创建),直接编辑这个文件,把cppStandard字段改成c++17:
{ "configurations": [ { "name": "Linux", // 根据你的系统改成Windows或Mac "includePath": ["${workspaceFolder}/**"], "defines": [], "compilerPath": "/usr/bin/clang++-5.0", // 对应你用的编译器路径 "cppStandard": "c++17", "intelliSenseMode": "linux-clang-x64" // 根据系统和编译器调整 } ], "version": 4 }
改完之后,重启一下VS Code或者重新加载窗口(快捷键Ctrl+Shift+P,输入Reload Window),错误波浪线应该就消失了——这样IntelliSense就会按照C++17的标准来检查代码,和你Run Code的编译设置保持一致啦。
内容的提问来源于stack exchange,提问作者Erel Segal-Halevi
相关产品推荐
相关产品推荐

