vscode Run/Debug ruby文件

  • 1 情景
  • 2 先说只运行、不调试的情况
  • 3 即可运行 又能debug
  • 3、1配置
  • 3、2操作


1 情景

因为刚开始学Ruby,所以我跟着教程写了很多.rb文件(在VScode里写),想要运行的时候,也是像教程里那样——先在命令行里cd到我这些文件保存的目录,然后在命令行执行

ruby filename.rb运行文件中的代码得到结果。

vscode怎么使用ruby ruby vscode_开发语言


这样先写代码,再用命令行执行,麻烦不说,也不能随意打断点debug(有时候一个文件里写了很多方法,运行却只能以rb文件为单位一起运行)。

所以就想能不能在VSCode里写了,直接就在里面运行、调试了(因为之前学python的时候依稀记得vscode有这样的扩展配置)。

百度了好久没看到啥有用的信息,最后还是在知乎看到了一条回答(还是lz的自问自答…https://www.zhihu.com/question/301181882),通过题主的指点去研究了一下ruby插件的文档,最后才成功在VSCode上成功debug了rb文件。这里分享一下今天研究的成果和一些细节。

2 先说只运行、不调试的情况

——在VSCode里写了,可以直接在VSCode里运行,结果直接在VSCode的终端里显示,不用再自己开命令行

参考了StackOverflow上的一条回答

https://stackoverflow.com/questions/54917999/how-do-i-execute-a-ruby-script-using-vscode 这需要安装Code Runner扩展

vscode怎么使用ruby ruby vscode_json_02


安装成功之后,打开rb文件,右键或者顶部会出现Run Code选项,可直接执行,执行结果直接在底部终端显示(可能会打印乱码,在rb文件第一行设置一下编码就行了)。

p.s. 这个插件也支持只运行选中的代码(选中文件中想执行的部分,右键Run Code)

vscode怎么使用ruby ruby vscode_vscode怎么使用ruby_03


vscode怎么使用ruby ruby vscode_ruby_04


上面的方式比较方便,至少不用再人工操作命令行了,但是缺点就是不能debug。

3 即可运行 又能debug

3、1配置

如果想像在IDE里一样,可以打断点debug测试,需要先装这个插件:

vscode怎么使用ruby ruby vscode_json_05


然后最好先研究一下Github上这个Ruby插件的doc文档,特别是Debugger部分,里面对于使用VScode debug ruby代码的配置有详细说明(其实主要是对于不同的情形,launch.json该怎么写)。

vscode怎么使用ruby ruby vscode_开发语言_06


vscode怎么使用ruby ruby vscode_json_07


看完上面那5个栏目也就差不多了(比较麻烦的也是这部分——怎样按需配置launch.json文件里的配置项)。

因为每个人情况不同,所以最后得到的launch.json文件里的配置也不一样。我这里只记录下我这种最简单的情形——debug运行独立的.rb文件——应该怎么配,简单走一遍流程。

装好插件之后,然后是装依赖,也就是gems

vscode怎么使用ruby ruby vscode_vscode怎么使用ruby_08


然后你会看到文档里说,下面就该配置launch.json了

vscode怎么使用ruby ruby vscode_vscode_09


vscode怎么使用ruby ruby vscode_vscode_10


但是这里有一个坑——————————————————————————————

我按他说的打开debugger view,并没有什么gear icon(齿轮图标),然后我点击“运行和调试”选了Ruby之后,launch.json也没有自动创建。

我打开debugger View是这样的↓

vscode怎么使用ruby ruby vscode_vscode_11


我按他说的打开我的.rb文件所在的目录,自己新建了一个launch.json,也没啥用。

在这儿卡了好久,后来,我看到文档里好多地方提到了worksapce这个概念,举例的launch.json里也会有一个${workspaceRoot}变量;之后又看到VScode的文件选项下边有个“将文件夹添加到工作区”

vscode怎么使用ruby ruby vscode_json_12


我就想,是不是因为我没有工作区这个东西啊,就是我没把我的文件夹加到工作区里。

然后我就试了一下,把我放.rb文件的文件夹添加到了工作区,然后再在Debugger View里点击“运行和调试”,选Ruby之后。launch.json就以默认配置自动弹出来了!!!。Debugger view也变成了↓(文档上说的gear icon也有了)

vscode怎么使用ruby ruby vscode_vscode_13


所以说,运行文件的话要先把它们加到VSCode的工作区啊(或者说指定它们所在文件夹为工作区啊),加到工作区之后,vscode会自动在那个文件夹下创建一个.vscode文件夹,并在里面创建一个launch.json文件

vscode怎么使用ruby ruby vscode_ruby_14

好了,坑踩完了————————————————————————————————

剩下的就真的只是对launch.json的配置了,因为我只需要debug一些本地运行的独立的.rb文件,所以只改了一下“program”的配置

vscode怎么使用ruby ruby vscode_开发语言_15


最后是这样的

vscode怎么使用ruby ruby vscode_vscode_16

3、2操作

配置好了launch.json,就可以像在IDE里一样,对文件中的代码进行Debug了:
打断点,f5启动调试,成功

vscode怎么使用ruby ruby vscode_vscode怎么使用ruby_17