在Visual Studio代码中调试Rails服务器


在用Ruby编码时,我一直使用Visual Studio Code作为我的IDE,因为我不想花一大笔钱购买RubyMy(我讨厌花钱),而且到目前为止,我的代码还不能调试。现在,我到目前为止还不需要调试的唯一原因是我还在学习Ruby on rails,因此当出现问题时,我正在编写的代码并不是最难修复的。但是我最近卡住了,我花了很长时间才弄清楚哪里出了问题,并开始希望我有一个调试器设置。不管怎么说,我是时候停止喋喋不休了,给你一些实际的信息。

设置它实际上真的很容易,因为一些很棒的人已经制作了一些插件和宝石供我们使用。

因此,首先要做的是安装Ruby plugin在VS代码中。这个插件不仅仅支持调试,但我会让您自己发现这一点,插件页面上的信息是一个很好的开始。

Ruby plugin

一旦完成,我们需要安装实际执行IDE可以用来显示的调试的gem。根据您使用的Ruby版本的不同,您需要安装的gem略有不同。

Ruby 1.8.x
gem install ruby-debug-ide
gem install ruby-debug-base


Ruby 1.9.x
gem install ruby-debug-ide
gem install ruby-debug-base19x
Ruby 2.x
gem install ruby-debug-ide
gem install debase


一旦安装了您正在使用的Ruby版本的gem,现在您只需要在调试模式下运行Rails服务器就可以了。

转到VS Code上的DEBUG选项卡,然后单击齿轮图标。这将打开Launch.json文件,该文件应该有大量标记为type: "Ruby"而且,如果由于某种神奇的原因没有添加,那么您可以手动添加它们。如果您发生了一些奇怪的事情,可以在下面找到调试Rails服务器的配置。


{
  "name": "Rails server",
  "type": "Ruby",
  "request": "launch",
  "cwd": "${workspaceRoot}",
  "program": "${workspaceRoot}/bin/rails",
  "args": [
     "server"
  ]
}


应该可以了!现在,如果您单击run在下拉列表中选择Rails服务器选项后,它将在调试模式下启动,屏幕顶部将出现一个带有调试选项的小菜单,例如continuestep over。窗口底部的栏甚至会更改颜色以指示其处于调试模式。

现在服务器已经在调试模式下启动,我们可以添加一些断点来单步执行代码并查看发生了什么。因此,我在代码中添加了断点(请不要对我的代码做任何评论!)让我们看看会发生什么。

Rails before debug

如果您不知道如何添加断点,只需单击要添加断点的行号左侧,点就会如上图所示。我非常肯定这个圆点将永远是红色的,但我不能百分之百确定它不能通过主题来改变。

现在,如果我调用此方法,它将在到达断点时暂停。如果您在浏览器中,它应该会打开VS代码并等待您的下一步操作。

Rails after debug

此时,您可以决定只通过按键来继续正常执行continue (f5)或者step over (f10),还有几个选择,但我太懒了,不敢写下来。您可以做出的另一个决定是,仅通过查看屏幕左侧即可查看变量状态和更多信息。下面是变量部分应该是什么样子的图像。

Rails after debug 2

关于使用Visual Studio代码调试Rails服务器的速成课程到此结束。通过启用调试,我们可以使其变得有用(而且是免费的!)艾德就更好了。调试愉快!