如何在VSCode中显示所有(-Wall) C/C++编译警告?
解决方案
核心原因说明:你之前配置的"C_Cpp.default.compilerArgs"仅作用于手动触发的构建任务,不会被IntelliSense实时检查模块读取,因此只有运行构建时才会显示完整警告
按照以下步骤配置即可实现实时全量警告提示:
- 第一步:修改配置项
按下Ctrl+Shift+P(Mac系统为Command+Shift+P),输入「首选项:打开设置(JSON)」,在打开的配置文件中添加如下内容:
如果使用GCC/Clang编译器:
// 匹配你实际使用的编译器架构,32位系统替换为gcc-x86 "C_Cpp.default.intelliSenseMode": "gcc-x64", // IntelliSense专属编译参数,可根据需要添加其他警告选项 "C_Cpp.default.intelliSenseCompilerArgs": ["${default}", "-Wall", "-Wextra"], // 开启错误/警告波浪线提示 "C_Cpp.intelliSense.enableErrorSquiggles": true, // 警告显示级别调整为最高,展示所有类型警告 "C_Cpp.intelliSense.warningLevel": 4, // 开启实时检查,代码修改后自动刷新提示 "C_Cpp.intelliSense.lintOnChange": true
如果使用MSVC编译器,替换对应配置为:
"C_Cpp.default.intelliSenseMode": "msvc-x64", "C_Cpp.default.intelliSenseCompilerArgs": ["${default}", "/W4"],
- 第二步:排查配置冲突
如果配置后仍不生效,检查当前项目.vscode文件夹下的settings.json文件,确认没有同名配置覆盖全局设置,如有则优先修改工作区配置。 - 第三步:验证生效
保存配置后重启VSCode,编辑代码时即可实时看到所有警告的波浪线提示,鼠标悬停在波浪线位置即可查看警告详情。
内容的提问来源于stack exchange,提问作者Pop Flamingo
相关产品推荐
相关产品推荐

