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

调试环境

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

走过坑

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


下面到解决问题的关键

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

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


解决问题的教程

(1) 左击插件 C/C++,选择小齿轮 -> 扩展设置。
【经验分享】vscode c++ 调试无法跳转问题解决教程_gcc/gdb编译调试_02
【经验分享】vscode c++ 调试无法跳转问题解决教程_gcc/gdb编译调试_03


(2) 搜索框内输入 “intell”,将 C_Cpp:Intelli Sense Engine 开关设置为 Default。
【经验分享】vscode c++ 调试无法跳转问题解决教程_c++_04
​   预警:这个时候前面的伏笔就来了,如果你装了 clang,你将无法把 C_Cpp:Intelli Sense Engine 开关设置为 Default,它会强制给你关掉,导致你配置不了 C/C++:Edit Configurations(JSON),也就不能进行调试跳转。

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

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

​  按键盘 “Ctrl + Shift + P”,进入设置搜索栏。
【经验分享】vscode c++ 调试无法跳转问题解决教程_ssh_05
​  点击 C/C++:Edit Configurations(JSON),会自动生成配置如下:
【经验分享】vscode c++ 调试无法跳转问题解决教程_vscode_06
​  其中,cStandard 和 cppStandard 可根据实际填写,一般默认就行。gcc、g++、gdb这种自己用 apt 或 yum 装就好了。


小结:

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

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

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

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



扫描下方二维码即可关注我的微信公众号【极智视界】,获取更多实践项目资源和读书分享,让我们用极致+极客的心态来迎接AI !
【经验分享】vscode c++ 调试无法跳转问题解决教程_gcc/gdb编译调试_07