Windows环境下VSCode C无法跳转自动补全

前言:

本文记录了自己在配置 Windows环境下 VSCode C开发环境的遇到的问题和解决方法。

参考:

vscode c语言没有代码提示_clangd提示不生效-CSDN博客

VSCODE无法跳转_vscode 不能跳转-CSDN博客

vscode c/c++环境配置(MinGW)+调用第三官方库方法 - 知乎

vscode中配置或添加头文件路径_vscode include路径-CSDN博客

vscode"检测到 #include 错误,请更新 includepath。"的问题解决办法_vscode_OneBlackCat-GitCode 开源社区

VSCode 配置 C++:VSCode + Clang + Clangd + LLDB + CMake + Git_vscode clang-CSDN博客

正文:
1. 环境描述

我的开发环境:在 Windows10环境下安装了 VSCode 编辑器,然后在Windows环境下VSCode中安装扩展插件,进行C语言开发。

2. 遇到的问题1: 同时安装了扩展插件 "C/C++ Extension" 和 "Clangd Extension"后,两个插件冲突。

我按照有些博文的操作步骤在 Windows VSCode 中安装了扩展插件"C/C++ Extension" 和 "Clangd Extension",安装这两个扩展插件之后VSCode弹出提示说:

"You have both the Microsoft C++ (cpptools) extension and clangd extension enabled. The Microsoft IntelliSense features conflict with clangd's code completion, diagnostics etc."

提示的意思是说,vscode 的 c/c++插件的代码自动高亮(intelliSence)功能和clangd插件的代码自动补全功能冲突,询问用户是否关闭掉 vscode c/c++ 插件的IntelliSence 功能。

这里是一个坑,如果你直接点击了"Disable IntelliSence" 关闭了vscode c/c++插件的 IntelliSence 功能,在之后开发C/C++ 源码的时候就会发现 VSCode 不能自动进行代码补全和C函数符号跳转了,关闭 vscode c/c++插件的 IntelliSence 后,vscode 有时间会提示如下错误信息:

IntelliSense-related commands cannot be executed when `C_Cpp.intelliSenseEngine` is set to `disabled`.

"Disable IntelliSence" 后VSCode中源码不能自动跳转的原因,在参考链接里的两个博客里也提到了,遇到这个个问题的人不止我一个。如果你已经不小心点击了"Disable IntelliSence" 禁用了了vscode c/c++插件的补全功能,怎么在此打开IntelliSence那?可以参考如下链接中博客的步骤进行操作。

VSCODE无法跳转_vscode 不能跳转-CSDN博客

3. 遇到问题2: 将头文件目录加入到vscode搜索路径

遇到的第二个问题是如何将包含头文件的目录假如到VSCode的自动搜索路径中,让VSCode c/c++ 插件可以找到c语言的函数声明和结构体定义,实现在VSCode中可以自动跳转到函数定义的地方。

解决方法: 在VSCode窗口中按下 "Ctrl + Shit + P"组合键,或者按下 "F1" 键,在出现的收缩框里搜索 "C/C++:Edit Configuration(JSON)"

编辑 c_cpp_properties.json 文件,将包含头文件的目录路径加到"includePath:"这里

4.遇到问题3: VSCode 文件目录下面没有自动生成 .vscode/c_cpp_properties.json 文件

该问题的原因和问题1的原因一样,都是vscode c/c++ extension 的 IntelliSence 被关闭。如果vscode c/c++ extension 的 IntelliSence 功能启用,在vscode打开C/C++源码目录时,vscode就会自动在C/C++源码目录下创建 .vscode/c_cpp_properties.json 文件。

相关推荐
海天一色y3 小时前
Pycharm(二十一)递归删除文件夹
ide·python·pycharm
嫣语岁月4 小时前
【BMS电池管理】基于BQ76920与STM32的BMS设计开发
c语言·vscode·stm32·单片机·嵌入式硬件
BillKu8 小时前
推荐 Eclipse Temurin 的 OpenJDK
java·ide·eclipse
非门由也9 小时前
Android studio安装教程——超详细(含安装包安装教程)
android·ide·android studio
996终结者12 小时前
同类软件对比(四):Jupyter vs PyCharm vs VS Code:Python开发工具终极选择指南
vscode·python·jupyter·pycharm·visual studio code
万粉变现经纪人17 小时前
如何解决pip安装报错ModuleNotFoundError: No module named ‘python-dateutil’问题
开发语言·ide·python·pycharm·pandas·pip·httpx
Adorable老犀牛21 小时前
可遇不可求的自动化运维工具 | 2 | 实施阶段一:基础准备
运维·git·vscode·python·node.js·自动化
Lecxcy_Kastreain1 天前
解决VSCode默认F5配置无法启动调试器的问题
ide·vscode·编辑器
胡乱编胡乱赢1 天前
在pycharm终端安装torch
ide·深度学习·pycharm·安装torch
梁小憨憨1 天前
PyCharm 连接 AutoDL 远程服务器
服务器·ide·pycharm