VSCode 搭配精选插件与合理配置可高效支持 Ruby 和 Rails 开发:必备插件含 Ruby、Solargraph、Rails、Debugger for Ruby 和 ERB Helper;需配置 intellisense、文件关联、格式化及调试 launch.json;注意 Solargraph 索引、debug gem 加载和项目级配置优先。

VSCode 搭配合适插件和配置,完全可以胜任 Ruby 和 Rails 开发,轻量、快速、可定制性强。关键不是装得多,而是选得准、配得稳。
必备插件:精简但够用
这些插件覆盖语法高亮、代码补全、调试、格式化等核心需求,避免冗余:
- Ruby(rebornix.ruby):提供基础语法支持、文档提示、简单跳转
-
Ruby Solargraph(castwide.solargraph):启用智能补全、符号查找、hover 文档、重构支持(需项目根目录运行
solargraph bundle) - Rails(bung87.rails):增强 Rails 特有文件识别(如 routes.rb、erb 模板、model/controller 关联跳转)
-
Debugger for Ruby(rebornix.ruby):配合
ruby-debug-ide和debase实现断点调试(Rails 7.1+ 推荐用debuggem) - ERB Helper(lumaxis.erb-helper):改善 .erb 文件中 HTML/Ruby 混合编辑体验(自动闭合、缩进、注释)
关键设置:让编辑器懂 Rails 项目结构
在工作区(.vscode/settings.json)中添加以下配置,比全局设置更安全精准:
{
"ruby.intellisense": "solargraph",
"solargraph.diagnostics": true,
"solargraph.autoStart": true,
"files.associations": {
"*.rb": "ruby",
"*.rake": "ruby",
"Gemfile": "ruby",
"Rakefile": "ruby",
"config.ru": "ruby"
},
"editor.formatOnSave": true,
"ruby.format": "rubocop",
"ruby.useBundler": true
}
注意:rubocop 需提前在项目中安装(bundle add rubocop --group development),并确保 .rubocop.yml 存在;若不用 RuboCop,可改用 rubyfmt 或关掉自动格式化。
调试 Rails 应用:本地启动 + 断点就绪
以 Rails 7+ 默认的 debug gem 为例(无需额外安装 ruby-debug-ide):
- 确认 Gemfile 中有
gem "debug", groups: [:development, :test],运行bundle install - 创建
.vscode/launch.json,内容如下:
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug Rails Server",
"type": "Ruby",
"request": "launch",
"cwd": "${workspaceFolder}",
"program": "${workspaceFolder}/bin/rails",
"args": ["server"],
"env": { "RAILS_ENV": "development" }
}
]
}
在 controller 或 model 中打上断点,按 F5 启动,访问 http://localhost:3000 即可触发调试。浏览器请求会停在断点处,支持变量查看、步进、控制台执行。
小而实用的优化建议
- 禁用 VSCode 内置的 TypeScript/JavaScript 补全干扰:在 settings.json 加
"javascript.suggest.autoImports": false - 快速跳转到对应测试文件:安装 Test Explorer UI + Ruby Test Explorer,支持 RSpec/MiniTest
- 终端集成:设
"terminal.integrated.defaultProfile.linux"(或 win/mac)为"bash"或"zsh",并启用"ruby.useBundler": true让内置终端自动bundle exec - 搜索时忽略 tmp/ log/ node_modules/:在全局 search.exclude 中添加
"**/tmp/**": true, "**/log/**": true
基本上就这些。不复杂但容易忽略的是:Solargraph 首次启动要索引,稍等几秒;调试前务必确认 debug gem 已加载;所有配置优先放在项目级 .vscode/ 下,避免污染其他语言项目。










