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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/323508.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

区块链的跨链交互:从学校间交流看跨链技术

区块链是一种去中心化的分布式账本技术,它通过加密学和共识机制来确保数据的安全性和不可篡改性。每个区块链就像一所独立的学校,有自己的制度、学生和重点专业。它们各自运行,有时在同一领域展开不同的活动。随着区块链技术的不断发展&#…

Java数组的应用---选择排序(Select Sort)

一、需求:选择排序(Select Sort),进行升序显示 在一组排列中把最大的数取出来放在一个新的列表里,再删去,在取最大的数出来,依次类推直到取到最后一个数字 二、定义一个无序的一维数组,并输出数组 程序运…

flink cdc,读取datetime类型

:flink cdc,读取datetime类型,全都变成了时间戳 Flink CDC读取MySQL的datetime类型时会转换为时间戳的问题,可以通过在Flink CDC任务中添加相应的转换器来解决。具体来说,可以在MySQL数据源的debezium.source.converter配置项中指…

vue 金额组件,输入提示单位:‘千’、‘万’、‘十万’...并用‘,’三个格式化

近期项目中遇到一个需求,金额输入框,输入过程中自动提示‘千’、‘万’、‘十万’、‘百万’......等单位提示,鼠标失去焦点后,并用‘,’三位隔开计数。 例如: 输入:12345.99 失去焦点:12,34…

私域流量优化:如何利用 AIPL 模型洞察客户生命周期价值

在当今这个数字化时代,商业战场的硝烟从未如此浓烈。随着互联网红利的逐渐消退,公域流量的成本水涨船高,企业间对于有限用户资源的争夺已进入白热化阶段。每一次点击、每一个曝光背后,都是企业不得不承担的高昂代价。在此背景下&a…

JavaScript 进阶征途:解锁Function奥秘,深掘Object方法精髓

个人主页:学习前端的小z 个人专栏:JavaScript 精粹 本专栏旨在分享记录每日学习的前端知识和学习笔记的归纳总结,欢迎大家在评论区交流讨论! 文章目录 🈵Function方法 与 函数式编程💝1 call &#x1f49d…

【MySQL数据库】丨一文详解 JdbcTemplate(Spring中的CRUD)

前言 JdbcTemplate 是 Spring框架 中提供的一个对象,用于简化JDBC操作。它使得数据库操作变得更为简单和方便,大大提高了开发效率。 文章目录 前言为何要使用JdbcTemplate在JdbcTemplate中执行SQL语句的方法大致分为3类:案例代码 JdbcTemplat…

whisper之初步使用记录

文章目录 前言 一、whisper是什么? 二、使用步骤 1.安装 2.python调用 3.识别效果评估 4.一点封装 5.参考链接 总结 前言 随着AI大模型的不断发展,语音识别等周边内容也再次引发关注,通过语音转文字再与大模型交互,从而…

驾驶证OCR识别接口如何对接

驾驶证OCR识别接口也叫驾驶证文字识别OCR接口,指的是传入驾驶证照片,精准识别静态驾驶证图像上的文字信息。那么驾驶证OCR文字识别接口如何对接呢? 首先我们找到一家有驾驶证OCR识别接口的服务商,数脉API,然后注册账户&#xff0…

Celery + redis 异步分布式任务队列安装测试

Celery 异步分布式任务队列 Celery 5.4.0 官方文档 环境:3台 centos7.9 普通用户 redisSchedulerworkerdp951dp96111dp971 文章目录 Celery 异步分布式任务队列1、Celery 介绍2、安装部署2.1 安装消息中间件(broker)2.2 安装Celery 3、功能…

骑出好身材,女士专属,这项运动让你健康美丽两不误。

在繁忙的生活节奏中,寻找一项既能放松心情又能塑形美体的运动,成为了现代女性的新追求。骑行,这项绿色低碳的运动方式,正以其独特的魅力,成为女士们的新宠。它不仅能够带你穿梭于城市的喧嚣与自然的宁静之间&#xff0…

C++面向对象程序设计 - 虚函数

在C中,虑函数(Virtual Function)是面向对象编程(OOP)中的一个重要概念,它允许派生类(或称为子类)覆盖基类(或称为父类)中的成员函数。当通过基类指针或引用调…

遥控挖掘机之ESP8266调试心得(1)

ESP8266调试心得 1. 前言2.遇到的问题2.1 ESP8266模块建立TCP连接时候报错2.2 指令异常问题 3. 更新ESP8266固件3. ESP8266的部分AT指令3. 连接步骤3.1 模块与电脑连接3.2.1 电脑上的设置3.2.2 ESP8266模块作为客户机(TCP Cilent)的设置步骤 3.2 模块与模…

电脑硬盘故障,这5种情况要了解!

在数字化时代,电脑硬盘作为存储数据的重要设备,其稳定性和安全性直接关系到用户的数据安全和工作效率。然而,硬盘故障却是一个无法完全避免的问题。为什么会出现电脑硬盘故障?出现该问题时应该如何解决?一文带你弄懂答…

k8s部署最新版zookeeper集群(3.9.2),并配置prometheus监控

目录 zookeeper集群部署创建zookeeper文件夹namespace.yamlscripts-configmap.yamlserviceaccount.yamlstatefulset.yamlsvc-headless.yamlsvc.yamlmetrics-svc.yaml执行部署 接入prometheus访问prometheus查看接入情况导入zookeeper监控模版监控展示 zookeeper集群部署 复制粘…

Linux 操作系统TCP、UDP

1、TCP服务器编写流程 头文件&#xff1a; #include <sys/socket.h> 1.1 创建套接字 函数原型&#xff1a; int socket(int domain, int type, int protocol); 参数&#xff1a; domain: 网域 AF_INET &#xff1a; IPv4 AF_INET6 &a…

第十五届蓝桥杯省赛大学B组(c++)

很幸运拿了辽宁赛区的省一,进入6月1号的国赛啦... 这篇文章主要对第十五届省赛大学B组(C)进行一次完整的复盘,这次省赛2道填空题6道编程题: A.握手问题 把握手情景看成矩阵: 粉色部分是7个不能互相捂手的情况 由于每个人只能和其他人捂手, 所以黑色情况是不算的 1和2握手2和…

Vue+OpenLayers7入门到实战:OpenLayers解析通过fetch请求的GeoJson格式数据,并叠加要素文字标注,以行政区划边界为例

返回《Vue+OpenLayers7》专栏目录:Vue+OpenLayers7入门到实战 前言 本章介绍如何使用OpenLayers7在地图上通过fetch请求geojson数据,然后通过OpenLayers解析为Feature要素叠加到图层上,并且通过动态设置标注方式显示要素属性为文字标注。 本章还是以行政区划边界为例,这个…

大模型LLM之SFT微调总结

一. SFT微调是什么 在大模型的加持下现有的语义理解系统的效果有一个质的飞跃&#xff1b;相对于之前的有监督的Pre-Train模型&#xff1b;大模型在某些特定的任务中碾压式的超过传统nlp效果&#xff1b;由于常见的大模型参数量巨大&#xff1b;在实际工作中很难直接对大模型训…

游戏陪玩平台app小程序H5源码交付游戏陪玩接单软件游戏陪玩源码 陪玩小程序陪玩工作室运营模式陪玩管理系统游戏陪玩工作室怎么做

提供陪玩平台源码&#xff0c;陪玩系统源码&#xff0c;陪玩app源码&#xff0c;团队各部门配备齐全&#xff0c;分工明确&#xff0c;及时对接开发进度&#xff0c;保证开发效率 一、陪玩平台源码的功能介绍 1、派单大厅:陪玩系统源码的派单大厅内支持用户通过语音连麦的方式…