Ruby LSP
语言服务器:ruby-lsp(Shopify 开发维护)
支持的扩展名:.rb、.rake、.gemspec、.ru、.erb
安装
# gem(推荐)
gem install ruby-lsp
# 或者加到项目 Gemfile
# group :development do
# gem 'ruby-lsp'
# end
# 然后 bundle install前置依赖:Ruby 3.0 或更高版本。
特有功能
- ERB 模板支持。这是其他语言服务器没有的——ruby-lsp 能分析
.erb文件里嵌入的 Ruby 代码。对 Rails 项目来说很实用。 - Rake 文件分析。
.rake文件也在支持范围内。 - 插件体系。ruby-lsp 自身有插件机制,社区贡献了 Rails 专用插件(ruby-lsp-rails),能理解 Active Record 模型、路由等 Rails 特有的概念。
典型场景
Ruby 是动态类型语言,类型检查能力天然弱于 TypeScript、Rust 这些。ruby-lsp 提供的主要是结构性分析——定义跳转、引用查找、文件符号——而不是深度的类型诊断。
对 Rails 项目来说,最有用的场景是理解路由和控制器的对应关系、追踪模型的关联定义、在视图模板里分析嵌入的 Ruby 代码。
注意事项
- Ruby 的元编程(
method_missing、define_method动态定义方法)是 LSP 分析的盲区。语言服务器看不到运行时动态创建的方法。 - Rails 项目最好装 ruby-lsp-rails 插件来增强分析能力。光装 ruby-lsp 对 Rails 特有的 DSL(
has_many、belongs_to、scope等)理解有限。 - Bundler 环境下要确保 ruby-lsp 的版本和项目的 Ruby 版本兼容。
本章来自《Claude 插件官方指南》开源版 · 作者「递归客」
在线阅读完整书系:inferloop.dev
源码仓库:github.com/diguike/book-claude-plugins
本书资源
- 源码仓库 · github.com/diguike/book-claude-plugins
- 在线阅读 · inferloop.dev/claude-plugins
- 所有书目 · inferloop.dev
继续阅读 · 同作者其他书
- 《Transformer 工程实战》从注意力机制到生产部署
- 《自己动手写 AI Agent》从 Claude Code 开源架构到你的第一个编程助手
- 《AI 时代的 CLI 工具开发实战》用 TypeScript 构建现代 CLI 工具
- 《LLM Infra 工程实战》从入门到实践
- 《Hermes Agent 实战》构建会成长的个人 AI Agent
- 《OpenClaw 源码解析》现代 Agent 系统的架构设计与工程实践
- 《Agent Memory 工程实战》从 claude-mem 源码到企业级记忆平台
- 《AI Token 中转站实战》从 0 搭建企业级 LLM 网关
- 《LangChain.js Agent 开发权威指南》从 1.x 抽象到生产级 Agent
- 《百万级 AI Agent 平台架构》智能客服 SaaS 实战
- 《AI Agent 评测工程实战》从 0 用 TypeScript 构建你的评测平台
- 《Agent Harness 评测工程》用评测建设并守护一个 agent harness
- 《源码精读》每章一个开源仓库 · 从架构到品味
- 《Claude Code Skill 指南》
Last updated on