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。附加元件會透過管道(即 stdinstdout)與此程序通訊,以取得關於應用程式的執行時資訊。

當擴充功能停止時(例如,透過關閉編輯器),伺服器實例會關閉。

功能

文件符號

文件符號是一種表示文件結構的方式。它們用於快速概述文件並允許快速導覽。

Ruby LSP 已經為 Ruby 檔案提供了文件符號,例如類別、模組、方法等。但 Rails 附加元件為 Rails 特定功能提供了額外的文件符號。

在 VS Code 中,您可以按下 Ctrl + Shift + O 來開啟文件符號視圖。

Active Record 回呼、驗證和關聯

使用 文件符號 功能在 Active Record 回呼、驗證和關聯之間導覽。

Document Symbol for Active Record Callbacks, Validations, and Associations

Active Support 測試案例

使用 文件符號 功能在 Active Support 測試案例之間導覽。

Document Symbol for tests

前往控制器動作路由

使用 程式碼鏡頭 功能導覽至控制器動作的路由定義。

Go to Controller Action Route

前往控制器動作視圖

使用 程式碼鏡頭 功能導覽至控制器動作的視圖檔案。

Go to Controller Action View

前往定義

前往定義是一個功能,可讓您導覽至符號的定義。

在 VS Code 中,您可以透過 3 種不同的方式觸發前往定義

  • 從上下文選單中選擇 前往定義
  • 在符號上按 F12
  • 在符號上按 Cmd + Click

在以下示範中,我們將使用 Cmd + Click 方法來觸發前往定義。

前往 Active Record 回呼和驗證定義

導覽至 Active Record 回呼和驗證的定義。

Go to Active Record Callback and Validation Definitions

前往 Active Record 關聯

導覽至 Active Record 關聯的定義。

Go to Active Record Associations

前往路由輔助函式定義

Go to Route Helper Definitions

Ruby 檔案操作

Ruby LSP 擴充功能在瀏覽器視圖中提供了一個 Ruby 檔案操作 圖示,可用於觸發 Rails generateRails destroy 命令。

Ruby file operations

命令

這些命令也可在命令選調板中使用。

Rails Generate

Rails Generate

Rails Destroy

Rails Destroy

執行與除錯

Rails 附加元件提供了 3 種使用 程式碼鏡頭 功能來執行和除錯 ActiveSupport 測試的方法。

使用測試瀏覽器執行測試

Run Tests With Test Explorer

在終端機中執行測試

Run Tests In The Terminal

使用 VS Code 除錯測試

Debug Tests With VS Code