VScode编辑C++文件时自动提示没了

在尝试将工作平台切换到VSCode时,作者遇到了C++代码失去自动提示的问题。通过检查settings.json文件,发现C_Cpp.autocomplete属性被设置为Disabled。将此属性改为Default并重新加载工作区后,自动提示功能恢复正常。此问题的解决过程提醒读者在配置编辑器时要仔细检查和理解设置选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

VsCode编辑C++代码时自动提示消失

最近尝试把自己的工作平台转移到VSCode上,某次使用C++的过程中突然发现C++的代码没有提示了,如图:
在这里插入图片描述
我从网上找了很多种方法,按照网上的指导,尝试在settings.json配置文件中添加如下代码自动提示:

 "editor.quickSuggestions": {
      "other": true,
      "comments": true,
      "strings": true
    },

实际配置中并没有解决我的问题,这种方法并不适合我的情况。
后来我新建一个工程文件,在新的工程文件中新建一个C++文件发现可以自动提示,于是我对比了一些带有auto属性的文件终于在settings文件里找到了C_Cpp autocomplete属性发现该属性设置为Disabled,感觉就是这个了。
在这里插入图片描述
修改为默认 Default 属性,注意一定要点击下方的 重新加载工作区以使设置更改生效 。点击重新加载:
在这里插入图片描述
重新加载后在demo.cpp文件里再次测试。可以看到自动提示生效。
在这里插入图片描述
可以看到再次正常提示了。

PS:其实上述设置可以在settings.json文件中设置(自己也无意也设置过,只不过值设置错了),在遇到配置问题不能急啊。

### 解决 VSCodeC++文件标红问题 在 Linux 系统下使用 Visual Studio Code (VSCode) 编辑 C++ 项目,可能会遇到头文件被标记为错误的情况。尽管这些头文件实际上能够成功编译并运行程序,但在编辑器中显示红色波浪线提示错误。以下是几种有效的解决方法: #### 方法一:修改 `c_cpp_properties.json` 配置文件 确保项目的 `.vscode/c_cpp_properties.json` 文件正确无误,并且包含了所有必要的头文件路径。如果此文件中有任何拼错误,则可能导致配置失效[^3]。 ```json { "configurations": [ { "name": "Linux", "includePath": [ "${workspaceFolder}/**", "/usr/include/eigen3/**" ], ... } ] } ``` #### 方法二:调整全局设置 进入 VSCode 的 设置 页面 (`File -> Preferences -> Settings`),搜索 `C_Cpp: Squiggles` 或者直接查找相关选项,将其值设为 `false` 来关闭语法检查中的波浪线下划线功能[^2]。 #### 方法三:更新 IntelliSense 模式 对于某些特定版本的 GCC/G++, 可以尝试通过命令行获取完整的预处理器宏定义列表,并将它们应用到当前工作区内的 IntelliSense 模型上: ```bash gcc -v -E -x c++ - ``` 复制上述命令输出的最后一部分(即包含 `-isystem` 和其他标志的部分),并将它粘贴进 `c_cpp_properties.json` 文件内相应的位置。 #### 方法四:利用 `compile_commands.json` 如果是基于 ESP-IDF 或类似的构建系统的项目,在根目录下的 `build` 文件夹里通常会有一个名为 `compile_commands.json` 的文件。只需指定其位置给 VSCdo 的 C/C++ 插件即可让插件自动读取正确的编译参数[^4]: ```json { "version": 4, "items": [{ "directory": "...", "command": "...", "file": "..." }] } ``` 以上四种方式都可以有效缓解甚至完全消除 VSCode 对于合法使用的第三方库或其他标准库头文件所做出的不恰当警告信息。具体采用哪种取决于个人喜好以及实际开发环境的要求。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值