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 測試案例之間導覽。
前往控制器動作路由
使用 程式碼鏡頭
功能導覽至控制器動作的路由定義。
前往控制器動作視圖
使用 程式碼鏡頭
功能導覽至控制器動作的視圖檔案。
前往定義
前往定義是一個功能,可讓您導覽至符號的定義。
在 VS Code 中,您可以透過 3 種不同的方式觸發前往定義
- 從上下文選單中選擇
前往定義
- 在符號上按
F12
- 在符號上按
Cmd + Click
在以下示範中,我們將使用 Cmd + Click
方法來觸發前往定義。
前往 Active Record 回呼和驗證定義
導覽至 Active Record 回呼和驗證的定義。
前往 Active Record 關聯
導覽至 Active Record 關聯的定義。
前往路由輔助函式定義
Ruby 檔案操作
Ruby LSP 擴充功能在瀏覽器視圖中提供了一個 Ruby 檔案操作
圖示,可用於觸發 Rails generate
和 Rails destroy
命令。
命令
這些命令也可在命令選調板中使用。
Rails Generate
Rails Destroy
執行與除錯
Rails 附加元件提供了 3 種使用 程式碼鏡頭
功能來執行和除錯 ActiveSupport
測試的方法。