工程開發
lsp-code-analysis avatar

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
在 GitHub 查看