如何在Visual Studio Code上调试Ruby代码?

29

我刚开始使用VSCode,但是根据网站上的提示已经下载了所需的扩展。然而,迄今为止,我无法在VSCode中调试Ruby代码,并且我不确定问题出在哪里。它就是不能启动...我不认为它把代码视为Ruby代码。每当我尝试运行代码时,在调试窗口中会看到"downloading C# extensions..."这个奇怪的东西。有人可以帮帮我吗?


你能提供截图或更详细的描述吗? - Green Cloak Guy
屏幕截图对此无济于事。这段代码在Sublime上运行得非常好。 我只是想知道如何在VSCode上调试Ruby语言? - Radwa Khattab
2个回答

41
这其实很简单,只要按照正确的步骤操作即可。 首先,你需要下载Ruby 扩展,它可以通过 VS Code 商店或 Extension 标签页中的搜索功能来找到:安装好之后,重新加载 VS Code [更新:vscode现在已经可以完美加载新扩展而无需重新加载]。 其次,你需要按照该扩展的调试指南进行操作,该指南可以在我提供的 GitHub 链接或 VS Code 商店中找到。以下部分可能是最有用的,但你也可以查看原始 Wiki

安装 Ruby 依赖项

在这个扩展中,我们实现了 Ruby 调试 IDE 协议,以允许 VS Code 与 Ruby 调试进行通信,这需要在您的计算机上安装 ruby-debug-ide。RubyMine/NetBeans 默认也是这样做的。

  • 如果你正在使用 JRuby 或 Ruby v1.8.x (jruby, ruby_18, mingw_18),则运行:

    gem install ruby-debug-ide
    

最新版本为0.6.0。确保与ruby-debug-ide一起安装ruby-debug-base

  • 如果您正在使用Ruby v1.9.x(ruby_19,mingw_19),请运行

gem install ruby-debug-ide

最新版本为0.6.0。请确保将ruby-debug-base19xruby-debug-ide一起安装。

  • 如果您正在使用Ruby v2.x

gem install ruby-debug-ide -v 0.6.0 (or higher versions)
gem install debase -v 0.2.1 (or higher versions)

将 VS Code 配置添加到您的项目中

转到 VS Code 的调试器视图,点击齿轮图标。从提示窗口中选择 Ruby 或 Ruby Debugger,然后您将在.vscode/launch.json 中获得示例启动配置。示例启动配置包括用于 RSpec(完整和活动规范文件)和 Cucumber 运行的调试器。这些示例期望已调用 bundle install --binstubs。有关调试 Ruby 脚本 / Rails 等的详细说明

阅读以下说明,了解如何在本地或远程调试 ruby/rails/etc

01 调试器安装

02 从 VS Code 启动

03 连接到调试器

04 运行 gem 脚本

05 示例配置

如果按照这些步骤进行操作,您将在第一步中安装每个依赖项。第二步帮助您配置项目工作区以开始调试用 Ruby 编写的代码。完成第二步后,您应该能够开始调试。这是我在最近的 Ruby 项目中使用的简单配置,可简单调试当前打开的文件。这在我提供的第二步中有完整的说明。

{
   "name": "Debug Local File",
   "type": "Ruby",
   "request": "launch",
   "cwd": "${workspaceRoot}",
   "program": "${file}"
}

"program": "${file}"是启用当前打开文件调试的代码行。


3
这个方法一开始是可行的。但突然出现了“未找到调试适配器”的错误,无法继续工作。解决方法是删除所有断点,然后再次尝试,这样就可以正常工作了。 - Andersnk
1
谢谢Mahdad。你有关于如何在像Foreman这样的工具中使用它来生成多个进程的建议吗? - chi
我个人没有使用Foreman的工作经验,但是我希望这个Stack Overflow链接可以给你提供你所需要的信息。 https://dev59.com/wJXfa4cB1Zd3GeqPgos5 - Mahdad Baghani
我该如何将命令行参数传递给调试器? - sgX
1
@sgX 你可以查看提供的配置示例;如果我没记错,你要找的是“args”属性;特别是RSpec示例:https://github.com/rubyide/vscode-ruby/wiki/5.-Example-configurations - Mahdad Baghani

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接