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

相关推荐
嵌入式软硬件攻城狮25 分钟前
3.VSCODE使用方法记录
ide·vscode·编辑器
BLOB_1010011 小时前
关于懒人复制idea项目的坑
java·ide·intellij-idea
YuforiaCode3 小时前
2025版最详细WebStorm下载安装教程(详细图解)
ide·webstorm
不剪发的Tony老师4 小时前
PyScripter:一款免费开源、功能强大的Python开发工具
ide·python
minglie16 小时前
platformio的esp32版的websocketServer
vscode
charlie1145141916 小时前
从 0 开始:在 WSL + VSCode 上利用 Maven 构建 Java Spring Boot 工程
java·笔记·vscode·后端·学习·maven·springboot
Molesidy13 小时前
【VSCode】VSCode的个人习惯设置--个人记录
ide·vscode·编辑器
小杍随笔15 小时前
【Zed 编辑器汉化版本推荐:使用 TC999/zed-loc 项目快速实现中文界面】
编辑器
电子科技圈15 小时前
IAR与Quintauris携手推进RISC-V汽车实时应用的功能安全软件开发
嵌入式硬件·安全·设计模式·编辑器·汽车·risc-v
詹姆斯bind16 小时前
基于Div contenteditable 属性 实现一个 “只读” 标签编辑器
vue.js·编辑器·contenteditable