如何为Ruby on Rails项目配置VS Code调试器

发布时间 - 2025-12-03 00:00:00    点击率:
首先安装Ruby扩展和debug gem,然后在Gemfile的development组中添加gem 'debug', '~> 1.8'并运行bundle install;接着在项目根目录创建.vscode/launch.json文件,配置Rails Server、Rails Console和Debug RSpec三种调试模式,确保program指向${workspaceFolder}/bin/rails以使用本地可执行文件;最后在VS Code中按F5选择配置,设置断点即可启动调试。

要在 VS Code 中为 Ruby on Rails 项目配置调试器,关键是使用 Ruby 扩展和 debug gem(以前叫 debase)。下面是如何一步步完成配置的实用指南。

安装必要的工具和扩展

确保你已经安装了以下内容:

  • Ruby 环境(建议使用 rbenv 或 rvm 管理版本)
  • Rails 项目已能正常运行
  • VS Code

在 VS Code 中安装推荐的扩展:

  • Ruby(由 misogachi 维护)
  • Debug for Ruby(由 rebornix 提供)
  • Ruby Solargraph(可选,用于代码补全)

添加 debug gem 到项目

打开你的 Gemfile,在 development 组中添加:

group :development do
  gem 'debug', '~> 1.8'
end

然后运行:

bundle install

这个 gem 是标准库 debug 的封装,支持 VS Code 调试协议。

配置 VS Code 启动调试器

在项目根目录创建文件夹 .vscode,并新建 launch.json 文件:

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Rails Server",
      "type": "ruby",
      "request": "launch",
      "program": "${workspaceFolder}/bin/rails",
      "args": [
        "server"
      ],
      "cwd": "${workspaceFolder}"
    },
    {
      "name": "Rails Console",
      "type": "ruby",
      "request": "launch",
      "program": "${workspaceFolder}/bin/rails",
      "args": [
        "console"
      ],
      "cwd": "${workspaceFolder}"
    },
    {
      "name": "Debug RSpec",
      "type": "ruby",
      "request": "launch",
      "program": "${workspaceFolder}/bin/rspec",
      "args": [
        "${relativeFile:-spec}"
      ],
      "cwd": "${workspaceFolder}",
      "terminal": "integrated"
    }
  ]
}

这样你就可以调试 Rails 服务、控制台或 RSpec 测试。

开始调试

F5 或点击“运行和调试”侧边栏,选择你要启动的配置,比如 Rails Server

在代码中打上断点(点击行号左侧),当请求到达对应代码时,执行会暂停,你可以查看变量、调用栈和表达式求值。

例如,在控制器中加个断点:

def show
  @user = User.find(params[:id]) # 在这行设断点
  render json: @user
end

访问 /users/1,VS Code 就会进入调试模式。

基本上就这些。只要 gem 装好,launch.json 配置正确,VS Code 就能顺利调试 Rails 应用。不复杂但容易忽略的是确保用的是项目本地的 bin/rails,而不是全局命令。这样才能加载正确的环境和依赖。


# vs code  # vscode  # js  # json  # 工具  #   # ai  # ruby on rails  # 标准库  # ruby  # for  # 封装  # console  # 的是  # 行号  # 组中  # 就会  # 调试器  # 你可以  # 就能  # 你要  # 要在  # 三种 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在建站主机中优化服务器配置?  做企业网站制作流程,企业网站制作基本流程有哪些?  node.js报错:Cannot find module 'ejs'的解决办法  Laravel如何为API编写文档_Laravel API文档生成与维护方法  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  Laravel如何实现API资源集合?(Resource Collection教程)  如何在阿里云域名上完成建站全流程?  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  如何基于云服务器快速搭建个人网站?  js实现获取鼠标当前的位置  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  详解Android图表 MPAndroidChart折线图  网站优化排名时,需要考虑哪些问题呢?  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  Python高阶函数应用_函数作为参数说明【指导】  湖南网站制作公司,湖南上善若水科技有限公司做什么的?  ChatGPT 4.0官网入口地址 ChatGPT在线体验官网  Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】  Laravel怎么定时执行任务_Laravel任务调度器Schedule配置与Cron设置【教程】  如何在企业微信快速生成手机电脑官网?  如何在宝塔面板创建新站点?  利用vue写todolist单页应用  如何用PHP工具快速搭建高效网站?  昵图网官方站入口 昵图网素材图库官网入口  javascript中数组(Array)对象和字符串(String)对象的常用方法总结  如何快速使用云服务器搭建个人网站?  VIVO手机上del键无效OnKeyListener不响应的原因及解决方法  如何用腾讯建站主机快速创建免费网站?  电商网站制作价格怎么算,网上拍卖流程以及规则?  如何在IIS7上新建站点并设置安全权限?  laravel怎么配置Redis作为缓存驱动_laravel Redis缓存配置教程  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  如何正确下载安装西数主机建站助手?  如何在阿里云购买域名并搭建网站?  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  如何在宝塔面板中创建新站点?  JavaScript Ajax实现异步通信  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  PHP正则匹配日期和时间(时间戳转换)的实例代码  Laravel如何使用withoutEvents方法临时禁用模型事件  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  iOS UIView常见属性方法小结  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?