lsp-code-analysis
透過語言伺服器 (LSP) 進行精確的語意程式碼分析。支援 Python, Rust, Go, TypeScript/JS 與 Java,提供定義跳轉、引用查詢、實作查找、檔案大綱與全專案重構功能。
簡介
此技能透過業界標準的語言伺服器協定 (LSP) 為 AI 代理程式提供編譯器等級的程式碼分析能力,並透過 Mason 管理伺服器運作。與 grep 或單純讀取檔案等文字基礎工具不同,此技能能夠理解符號、型別與依賴關係之間的真實結構,對於複雜專案的深入理解與結構性重構至關重要。
本工具專為軟體工程師與 AI 編碼代理設計,特別適用於探索陌生程式碼庫、追蹤跨檔案的複雜呼叫鏈,或進行安全的大規模程式碼修改。它將專案視為相互連結的符號圖,而非僅是文字檔案集合,能顯著降低代理程式在導航或修改程式碼時產生幻覺的風險。
-
精確導航:使用基於範圍的目標設定,立即跳轉至定義、型別定義或符號宣告。
-
脈絡分析:在深入邏輯前產生檔案大綱以繪製架構地圖,並能提取特定函式或類別的完整原始碼。
-
全域操作:執行專案範圍內的符號重新命名,並內建預覽步驟以確保結構安全,支援排除特定目錄。
-
通用搜尋:根據型別(函式、類別、介面、變數、模組等)在整個工作空間搜尋符號,即便不清楚具體檔案位置亦可找到。
-
實作追蹤:查找特定物件的所有引用與實作,對於理解多型系統中的變更影響至關重要。
-
使用策略:建議使用 lsp-outline 獲取高階結構,使用 lsp-symbol 獲取特定區塊內容,使用 lsp-reference 進行影響分析,並使用 lsp-definition 進行呼叫鏈追蹤。
-
目標語法:利用 --scope 參數指定類別或方法(如 --scope MyClass.method),並使用 --find 旗標搭配 <|> 游標標記來鎖定行內的目標位置。
-
前置需求:需於本地安裝 Mason 管理的語言伺服器(pyright, rust-analyzer, typescript-language-server, gopls)。
-
效能注意事項:初始啟動約需 3 秒進行管理器初始化;後續請求經預熱後通常在 2 秒內回應。
-
安全性:在執行 lsp-rename 之前務必先運行預覽模式 (preview),並檢查預覽產出的 ID,以確保變更範圍正確且安全。
倉庫統計
- Star 數
- 1
- Fork 數
- 0
- Open Issue 數
- 0
- 主要語言
- Python
- 預設分支
- main
- 同步狀態
- 閒置
- 最近同步時間
- 2026年5月3日 下午09:15