Rails 插件
Ruby LSP Rails 是一个 Ruby LSP 插件,它使用 Rails 特有的功能增强了基础 Ruby LSP 的功能。它提供了改进的代码导航,针对 Rails 特定元素的文档符号,以及运行时自省功能。
它与正在运行的 Rails 实例通信,以提供有关应用程序的动态信息,从而实现更准确和上下文感知的语言服务器功能。
目录
安装
Rails 插件是自动安装的。
Ruby LSP 会检测 Rails 项目并为您安装 Rails 插件。
运行时自省
LSP 工具通常基于静态分析,但 ruby-lsp-rails
实际上会与您的 Rails 应用程序通信以获取某些功能。
当 Ruby LSP Rails 启动时,它会生成一个 rails runner
实例,该实例运行 server.rb
。该插件通过管道(即 stdin
和 stdout
)与此进程通信,以获取有关应用程序的运行时信息。
当扩展停止时(例如通过退出编辑器),服务器实例将被关闭。
功能
文档符号
文档符号是一种表示文档结构的方式。它们用于提供文档的快速概览并允许快速导航。
Ruby LSP 已经为 Ruby 文件提供文档符号,例如类、模块、方法等。但 Rails 插件为 Rails 特定功能提供了额外的文档符号。
在 VS Code 中,您可以通过按 Ctrl + Shift + O
打开文档符号视图。
Active Record 回调、验证和关联
使用 文档符号
功能在 Active Record 回调、验证和关联之间导航。
Active Support 测试用例
使用 文档符号
功能在 Active Support 测试用例之间导航。
跳转到控制器操作路由
使用 Code Lens
功能导航到控制器操作的路由定义。
跳转到控制器操作视图
使用 Code Lens
功能导航到控制器操作的视图文件。
跳转到定义
跳转到定义是一项功能,可让您导航到符号的定义。
在 VS Code 中,您可以通过 3 种不同的方式触发跳转到定义
- 从上下文菜单中选择
跳转到定义
- 在符号上按
F12
- 在符号上按
Cmd + 单击
在以下演示中,我们将使用 Cmd + 单击
方法来触发跳转到定义。
跳转到 Active Record 回调和验证定义
导航到 Active Record 回调和验证的定义。
跳转到 Active Record 关联
导航到 Active Record 关联的定义。
跳转到路由助手定义
Ruby 文件操作
Ruby LSP 扩展在资源管理器视图中提供了一个 Ruby 文件操作
图标,可用于触发 Rails generate
和 Rails destroy
命令。
命令
这些命令也可在命令面板中使用。
Rails Generate
Rails Destroy
运行和调试
Rails 插件提供了 3 种方式,可以使用 Code Lens
功能运行和调试 ActiveSupport
测试。