讲师中心 微信公众号

工具推荐

视频效率加速
Laper
Laper

剧本策划到成片协作

立刻MV
立刻MV

低成本歌曲 MV、视频生成

AniShort
AniShort

AI短剧协同制作平台

Seko
Seko

AI短剧一键生成成片

VSCode如何配置Ruby开发环境 VSCode搭建Ruby项目的完整教程

酷浩小哥_3736

酷浩小哥_3736

发布时间:2025-08-01 16:00:02

|

621人浏览过

|

来源于php中文网

原创

在vscode里搭建ruby开发环境需三步:首先安装ruby并推荐使用rbenv或rvm进行版本管理,其中rbenv轻量透明,rvm功能全面但侵入性强;其次安装vscode扩展,包括ruby、solargraph(需gem install solargraph)、code runner、ruby debugger及rubocop,并在settings.json中配置格式化与保存时检查;最后配置调试环境,在.vscode/launch.json中定义rdbg调试器的启动方式,支持调试文件、rake任务和rails服务器,通过设置断点并使用调试面板操作实现高效调试,整个流程强调环境清晰、扩展协同与配置精准,最终实现流畅开发体验。

VSCode如何配置Ruby开发环境 VSCode搭建Ruby项目的完整教程

在VSCode里搭建Ruby开发环境,核心在于三步:先确保系统安装了Ruby,接着在VSCode里安装必要的Ruby相关扩展,最后根据项目需求配置好调试器和LSP(语言服务器协议)。这并非什么高深莫测的技术,更多是耐心和对细节的把握。

VSCode如何配置Ruby开发环境 VSCode搭建Ruby项目的完整教程

解决方案

要让VSCode成为你得力的Ruby开发伙伴,你需要依次完成以下几步,每一步都有其存在的理由,环环相扣:

首先,确保你的系统上安装了Ruby。这听起来是废话,但很多人直接跳过这一步,或者依赖系统自带的老旧版本。我个人倾向于使用版本管理工具,比如

rbenv
或
RVM
,它们能让你在不同的项目间轻松切换Ruby版本,避免版本冲突带来的各种头疼问题。安装完Ruby后,记得检查你的
PATH
环境变量,确保Ruby可执行文件能被系统正确找到。

VSCode如何配置Ruby开发环境 VSCode搭建Ruby项目的完整教程

接下来是VSCode本身。打开它,进入扩展市场(Extensions),搜索并安装几个关键的扩展。首当其冲的是官方的“Ruby”扩展,它提供了基本的语法高亮、代码片段和一些语言特性支持。但真正让开发体验质变的,是像

Solargraph
这样的LSP服务器。它能提供智能的代码补全、定义跳转、引用查找以及错误检查。安装完Solargraph扩展后,通常还需要在终端里运行
gem install solargraph
来安装Solargraph gem本身。

再者,为了提升效率,我还会安装

Code Runner
,它能让你快速运行当前文件中的Ruby代码,测试小片段时非常方便。如果你需要调试,那么“Ruby Debugger”或兼容
rdbg
的扩展也是必不可少的。

VSCode如何配置Ruby开发环境 VSCode搭建Ruby项目的完整教程

最后一步是配置。这包括VSCode的用户设置(

settings.json
)和项目级的配置(
.vscode/settings.json
或
.vscode/launch.json
)。你可能需要指定Solargraph的工作区、配置代码格式化工具(比如
rubocop
)的路径,或者设置调试器的启动配置。举个例子,如果你的项目使用
rubocop
进行代码风格检查,你可能需要在VSCode设置里指定它的路径,或者让它在保存时自动运行。这些配置虽然看起来零碎,但它们是构建流畅开发体验的关键。

Ruby版本管理工具的选择与安装,哪个更适合我?

说到Ruby版本管理,这真是个老生常谈的话题,但每次都值得再聊聊。市面上最主流的无疑是

rbenv
和
RVM
。它们都能让你在同一台机器上安装并管理多个Ruby版本,这对于同时维护多个Ruby项目,或者需要测试新版本Ruby兼容性时,简直是救命稻草。

RVM (Ruby Version Manager) 出现得更早,功能也更强大,它不仅管理Ruby版本,还能管理gemset(gem的独立集合),这意味着你可以为每个项目创建独立的gem环境,彻底避免gem之间的冲突。RVM的安装通常比较简单,通过一个curl命令就能搞定。它的一个特点是会修改你的shell环境,通过

source
命令加载RVM的脚本,让RVM的命令可以直接使用。对于初学者来说,RVM可能感觉更“全能”,因为它把Ruby和gem都管得服服帖帖。

然而,rbenv 的哲学则完全不同。它更轻量级,遵循Unix的“小工具做一件事并做好”的原则。rbenv只负责管理Ruby版本,不直接管理gemset。它通过修改

PATH
环境变量,在命令查找路径中插入一个垫片(shim),当你在终端输入
ruby
或
bundle
时,rbenv会根据当前目录的
.ruby-version
文件来决定使用哪个Ruby版本。gemset的管理则通常交给
bundler
或者
gemset
插件(比如
rbenv-gemset
)。我个人更偏爱rbenv,因为它侵入性更小,更符合我的“少即是多”的开发理念。它的工作方式也更透明,你总能清楚地知道哪个Ruby可执行文件正在被调用。

选择哪个,真的取决于你的个人偏好和项目需求。如果你喜欢一个大而全、开箱即用的解决方案,RVM可能更适合你。如果你追求轻量、模块化、对系统侵入性小,并且不介意额外配置gemset,那么rbenv会是更好的选择。安装方面,两者都有详细的官方文档,通常几行命令就能搞定。安装后,别忘了运行

rbenv init
或
rvm requirements
来确保环境配置正确。

VSCode Ruby开发常用扩展推荐及配置技巧

VSCode的强大之处,很大程度上在于其丰富的扩展生态。对于Ruby开发,有那么几款扩展,我觉得几乎是必备的,它们能将你的开发体验从“能用”提升到“好用”甚至“愉悦”。

VSCode
VSCode

避免常见的 VSCode 错误——设置冲突、调试器配置和扩展冲突。

下载

首先,Ruby 扩展(通常是官方或社区维护的那个,图标是个红色的Ruby菱形)。这是基础,提供了语法高亮、代码片段、基本智能感知。但它本身并不提供强大的LSP功能。

真正让智能感知飞跃的是 Solargraph。安装这个VSCode扩展后,你还需要在你的Ruby环境里安装

Solargraph
这个gem:
gem install solargraph
。Solargraph是一个Ruby的语言服务器,它能分析你的代码,提供精准的自动补全、方法签名提示、定义跳转、引用查找以及实时错误检查。它的配置通常很简单,默认就能工作。但如果你遇到性能问题或者想要更精确的类型推断,可以在项目根目录创建
.solargraph.yml
文件进行配置,比如排除一些目录:

require:
  - solargraph-rails # 如果是Rails项目,安装这个gem并在这里require
include:
  - "**/*.rb"
exclude:
  - "**/bin/**/*"
  - "**/node_modules/**/*"
  - "**/vendor/**/*"

接着是 Ruby Debugger。这通常指的是基于

rdbg
(Ruby 3.1+内置)或
ruby-debug-ide
的调试器。安装VSCode的Ruby Debugger扩展后,你需要在项目中配置
launch.json
文件,才能让调试器知道如何启动你的应用。这部分我们会在下一个小节详细讲。

Code Runner 也是个小而美的工具。它让你能快速运行当前打开的Ruby文件或者选中的代码片段。对于快速测试一个函数或者验证一个小逻辑,它比每次都打开终端运行要方便得多。

如果你使用

rubocop
进行代码风格检查和格式化,那么安装一个 RuboCop 扩展(或者直接在VSCode的设置中配置保存时运行RuboCop)也是非常推荐的。你可以在
settings.json
中这样配置:

{
    "ruby.format": "rubocop",
    "ruby.rubocop.onSave": true,
    "ruby.rubocop.executePath": "/path/to/your/rubocop" // 如果rubocop不在PATH中,需要指定路径
}

这些扩展的组合,基本上就能覆盖日常Ruby开发的大部分需求。记住,配置不是一劳永逸的,随着项目和个人习惯的变化,你可能需要不断调整。

调试Ruby代码:VSCode调试器的配置与使用

调试是开发过程中不可或缺的一环,尤其是在处理复杂逻辑或追踪难以复现的bug时。VSCode的调试功能非常强大,但对于Ruby,它需要一些额外的配置。

核心在于

launch.json
文件,它位于你的项目根目录下的
.vscode
文件夹内。这个文件定义了VSCode如何启动和连接到你的Ruby应用进行调试。对于Ruby 3.1及以上版本,我们通常使用内置的
rdbg
调试器。

一个基本的

launch.json
配置可能长这样:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Debug Current File",
            "type": "rdbg",
            "request": "launch",
            "program": "${file}",
            "args": [],
            "cwd": "${workspaceFolder}"
        },
        {
            "name": "Debug Rake Task",
            "type": "rdbg",
            "request": "launch",
            "program": "${workspaceFolder}/bin/bundle", // 确保bundle在PATH中或指定完整路径
            "args": [
                "exec",
                "rake",
                "your_rake_task_name" // 替换为你的Rake任务名
            ],
            "cwd": "${workspaceFolder}"
        },
        {
            "name": "Debug Rails Server",
            "type": "rdbg",
            "request": "launch",
            "program": "${workspaceFolder}/bin/rails",
            "args": [
                "server",
                "-p",
                "3000"
            ],
            "cwd": "${workspaceFolder}",
            "env": {
                "RAILS_ENV": "development"
            }
        }
    ]
}

配置说明:

  • type: "rdbg"
    : 指定使用
    rdbg
    调试器。如果你使用的是旧版Ruby或
    ruby-debug-ide
    ,这里可能需要调整。
  • request: "launch"
    : 表示启动一个新的进程进行调试。
  • program
    : 这是你要执行的Ruby脚本或命令的路径。
    • "${file}"
      :调试当前打开的文件。
    • "${workspaceFolder}/bin/bundle"
      :对于Rails或Rake任务,你通常会通过
      bundle exec
      来运行。
    • "${workspaceFolder}/bin/rails"
      :启动Rails服务器。
  • args
    : 传递给
    program
    的命令行参数。
  • cwd
    : 工作目录,通常是项目根目录
    "${workspaceFolder}"
    。
  • env
    : 环境变量,比如设置
    RAILS_ENV
    。

使用流程:

  1. 设置断点: 在你想要暂停代码执行的行号左侧点击,会出现一个红点,这就是断点。
  2. 选择调试配置: 在VSCode左侧的“运行和调试”视图(虫子图标)中,顶部的下拉菜单选择你刚刚配置好的调试项(比如“Debug Current File”)。
  3. 启动调试: 点击绿色的播放按钮启动调试。
  4. 调试操作: 代码会在断点处暂停。此时,你可以使用调试控制面板上的按钮进行操作:
    • 继续 (F5):执行到下一个断点或程序结束。
    • 单步跳过 (F10):执行当前行并跳到下一行,不进入函数内部。
    • 单步进入 (F11):执行当前行并进入函数内部。
    • 单步跳出 (Shift+F11):从当前函数中跳出。
    • 重新启动 (Ctrl+Shift+F5):重新启动调试会话。
    • 停止 (Shift+F5):停止调试。
  5. 查看变量: 在左侧的“变量”面板中,你可以实时查看当前作用域内所有变量的值。
  6. 调用堆栈: “调用堆栈”面板显示了当前代码执行的路径。
  7. 监视表达式: 在“监视”面板中添加你关心的表达式,它们的值会实时更新。

调试过程中,有时会遇到调试器无法连接、断点不生效等问题。通常这与Ruby版本、gem安装、

launch.json
配置错误或端口冲突有关。检查终端输出的错误信息,往往能找到线索。比如,确保你的
rdbg
gem版本与Ruby兼容,或者
bundle exec
路径正确。调试本身就是一个不断尝试和学习的过程,别怕出错。

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

超级麦吉

一款通过数字员工协作完成调研、数据分析与文档制作的AI办公平台。

咔片AIPPT

一款在线AI演示文稿制作工具,可根据主题和内容需求辅助生成PPT结构与页面,提高演示材料制作效率。

码上飞
码上飞 Hot

一款基于自然语言的AI应用开发平台,可根据用户描述自动生成应用程序,帮助个人和团队快速完成应用原型与开发。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

相关专题

更多
Linux安装Ruby语言详细教程
Linux安装Ruby语言详细教程

本专题整合了Linux安装配置Ruby相关教程,阅读专题下面的文章了解更多详细操作。

132

2026.04.02

json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2355

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

3882

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

1296

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

4499

2025.09.10

curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

3943

2023.06.14

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

955

2023.10.30

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

7067

2023.07.18

Go-Zero API开发使用教程
Go-Zero API开发使用教程

本专题聚焦Go-Zero的API开发,拆解.api描述文件的语法结构、路由与分组定义、参数绑定与校验规则,说明统一响应体、JWT鉴权、跨域与接口文档生成的落地方式,并给出网关聚合与接口测试的实践建议。

100

2026.11.12

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn