极智开发 | vscode c++ 调试无法跳转问题解决教程

  网上教程各种坑,有让你把 C/C++和 C++ Intellisense 插件卸载、重装、重启的;也有让你装 GNU Global的。。。试过,问题依旧,下面分享一下我花了两个小时走过的这个坑。

调试环境

  vscode 通过ssh远程服务器docker,所以是在ssh服务器端调式C++工程。

走过坑

  一开始侥幸心理,装了很多插件,希望有一个能奏效,如下:   现实总是残酷的,也不要被我上面这么多插件迷惑,其实对于这个问题只需要两个插件:C/C++ 和 C++ Intellisense。讲了半天,其实应该大多人的情况是:已经装好了这两个插件,已经经历了多次卸载、安装、重启,可还是无法跳转。 下面到解决问题的关键:

    伏笔:你在装完C++插件的时候,vscode往往会提醒你安装 clang。

  你不能跳转的关键是你没有把 C_Cpp: IntelliSenseEngine 的开关打开,没有配置 C/C++:Edit Configurations(JSON)。

解决问题的教程:

(1) 左击插件 C/C++,选择小齿轮 -> 扩展设置。 (2) 搜索框内输入 “intell”,将 C_Cpp:Intelli Sense Engine 开关设置为 Default。   预警:这个时候前面的伏笔就来了,如果你装了 clang,你将无法把 C_Cpp:Intelli Sense Engine 开关设置为 Default,它会强制给你关掉,导致你配置不了 C/C++:Edit Configurations(JSON),也就不能进行调试跳转。

  【解决方法】很简单,在插件栏里将 clangd 卸载、重启即可。

(3) 配置 C/C++:Edit Configurations(JSON):

  按键盘 “Ctrl + Shift + P”,进入设置搜索栏。   点击 C/C++:Edit Configurations(JSON),会自动生成配置如下:   其中,cStandard 和 cppStandard 可根据实际填写,一般默认就行。gcc、g++、gdb这种自己用 apt 或 yum 装就好了。


小结:

  遇到vscode c++无法跳转的问题,先确认两个配置:

  (1) 已经安装了 C/C++和 C++ Intellisense 插件;

  (2) 确认 C_Cpp: IntelliSenseEngine 的开关打开,C/C++:Edit Configurations(JSON)创建。

  还是不行的话,恭喜你,又有成长的机会了。



经验分享 程序员 微信小程序 职场和发展