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 文件。

相关推荐
Yolanda_202212 小时前
在vscode终端中可使用pip,但是cmd终端中找不到命令 pip问题的解决
vscode·python·conda·pip
ITmaster073116 小时前
告别 IDE?Android CLI 来了,开发进入 AI Agent 时代
android·ide·人工智能
π同学17 小时前
ESP-IDF+vscode开发ESP32 联网篇第一讲——WIFI扫描
vscode·esp32c6·wifi scan
jiang_changsheng21 小时前
详细教程__--PyCharm Terminal--切conda环境详解
ide·pycharm·conda
●VON1 天前
鸿蒙 PC Markdown 编辑器内核:在 ArkWeb 中离线运行 CodeMirror 6
安全·华为·编辑器·harmonyos·鸿蒙
●VON1 天前
鸿蒙 PC Markdown 编辑器存储安全:AtomicFile 原子提交与故障注入
安全·华为·编辑器·harmonyos·鸿蒙
●VON2 天前
鸿蒙 PC Markdown 编辑器 Alpha 评审:如何用退出条件判断阶段完成
网络·安全·华为·编辑器·harmonyos·鸿蒙
MGS浪疯2 天前
我用 WorkBuddy 做了一个能记住前文的 AI 小说编辑器
人工智能·编辑器·腾讯云·腾讯云ai代码助手·workbuddy开发者分享季·codebuddy开发者分享季
●VON2 天前
鸿蒙 PC Markdown 编辑器 Bridge 协议:原生外壳与 Web 内核的状态同步
前端·华为·编辑器·harmonyos·鸿蒙
Irene19912 天前
怎么设置 PyCharm 使用 VSCode 的快捷键,推荐保留的原生快捷键(特色功能不建议覆盖,否则丧失效率优势)Ctrl+Alt+L:代码格式化
vscode·pycharm·快捷键