简宝玉分享会日更写作打卡我用 LinuxLinux

Elementary OS 0.4.1 Loki配置vscode

2019-01-17  本文已影响7人  15491f4b96fa
breakpoint_OK

折腾了老半天,总算搞定了vscode调试C代码。

系统信息:

配置信息:

vscode以及相关插件

从头总结配置C程序调试过程

「1」准备好文件夹和.c程序文件

「2」配置debug调试条件

「2-1」配置调试环境之「launch.json」文件。
"program":"enter program name, for example ${workspaceFolder}/a.out",

需要修改,我改成了下面这样:

"program": "${workspaceFolder}/out_bin/${fileBasenameNoExtension}.debug",
//    这句话表示,要被调试的文件是冒号右边的文件
//    ${workspaceFolder}是工作空间文件夹,在这里就是上面打开的「vscode_c_debug_conclusion」文件夹的绝对地址。
//    out_bin是按个人喜好在当前工作空间文件夹下建立的名字为out_bin的空文件夹,用来存放输出来的调试文件
//    ${fileBasenameNoExtension}是当前打开文件的去除了后缀名的文件名称
//    .debug是按个人喜好设置的输出来的调试文件的后缀名
「2-2」配置调试环境之「tasks.json」文件。
"label":"echo"    //    "label"是一个属性,vscode的解释是「任务的用户界面标签」,
//    说得直白一点"label"代表的是,这个「任务/tasks」的名字。默认的名字是「echo」。
//    根据个人喜欢,我这里把值改成了"builddebug"。
"command":"echo Hello"    //    "command"代表「要执行的命令。可以是外部程序或shell命令。」
//    我们要改成把打开的c程序文件编译为可执行文件,并且要可调试,
//    所以把值"echo Hello"改为我们需要的"gcc -g ${file} -o out_bin/${fileBasenameNoExtension}.debug"
 "preLaunchTask":"builddebug"
//    如果在文件末尾添加这一行的话,这句最后不要有逗号,同时要在前面一句的后面增加一个逗号
//    把tasks.json里的label的名字拿过来用,这样才对得上。
「2-3」配置调试环境之「launch.json」文件之二。

经过了上面的配置,其实已经可以调试了,只不过还有一点异常,那就是「断点不起作用」,那也就是仍然没法进入调试状态。

"externalConsole":"true"
//    "externalConsole"代表「是否使用外部控制台来做调试」,true表示使用,false表示不使用。
//    之前vscode自动创建的这个launch.json里的默认值是true,然而似乎并没有设置什么用来调试的外部控制台啊!
//    把值改为false。
//    再按下F5键,启动调试——OK了。vscode右下部分的「终端」显示信息一开始和之前的一样,
//    大约2秒钟过后出现变化,同时可以看到断点起作用了。 

今天第一次配置的时候,跟着网上的不同的教程做了半天,一直卡在这一步,后来还是一句一句看究竟是什么意思,才摸索出来,累得是满头大汗!
初学者的痛苦,有谁能懂?

「3」调整「Code Runnder」插件的设置

在「Code Runnder」这个「提供编译后程序的运行环境」的插件里,可以对一些设置进行调整,从而满足个人的编译习惯等。

注意:这个插件的选项是针对整个vscode的,和前面的位于当前打开文件夹下隐藏文件夹中的「launch.json」和「tasks.json」文件的作用范围是不一样的。

「3-1」调整「Code-runner:Executor Map」的设置
"code-runner.executorMap"{
"c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
}
//    因为这个设置在这里是唯一一个,所以它的大括号最后没有英文半角逗号

复制到右边的第一个位置的「用户设置」里,并改为如下内容:

"code-runner.executorMap": {
    "c":"cd $dir && gcc $fileName -o $dir/out_bin/$fileNameWithoutExt.out && $dir/out_bin/$fileNameWithoutExt.out",
    },
//    因为这里的用户自定义设置有很多项,这一项也不是最后一项,所以大括号后面要跟一个英文半角逗号,否则会提示有错误。
//    这个选项表示的是通过Code Runner这个插件编译源文件的得到可执行文件的具体过程,
//    具体的就不一一解释了,我改的只是最后编译出来的可执行文件的名字,和它存放的位置,
//    这个主要是看个人喜好吧。
//    另外,在网上看到的教程里有调用系统自带终端来运行编译出来的可执行文件的,但是我没有尝试成功,就暂时放下了。
「3-2」调整「Code Runner」插件的其它设置

总结完毕,收工。

这样应该清楚多了吧!
今天上网查找教程的时候翻来覆去地出现了很多周折,具体的原因除了本人是新手、教程侧重点不同等等之外,还有一个大坑就是微软这个家伙多次更新vscode的时候,把「设置」本身的样式也给更新了很多,所以以前老版本的设置,在新版本里根本看不到、对不上!真是气啊!
一生气就想起了WM10,可怜当年大把银子入手的撸妹啊!唉,说起来都是泪!
好吧,就写这么多了,希望能对配置vscode调试c或c++的初学者有所帮助吧!共勉!

砚湖@飘香生活馆
二〇一九年一月十七日

上一篇 下一篇

猜你喜欢

热点阅读