copilot-emacs/copilot.el
An unofficial Copilot plugin for Emacs.
解決的問題
copilot.el 是一個將 GitHub Copilot 的 AI 驅動程式碼輔助功能直接整合到編輯器中的 Emacs 插件。它消除了在編輯器與獨立瀏覽器或 AI 工具之間切換的需要,提供即時程式碼補全、互動式聊天介面,以及在 Emacs 內自動完成程式碼審查和產生提交訊息的功能。
工作原理
該插件透過 jsonrpc.el 使用 JSON-RPC 與官方 GitHub Copilot 語言伺服器通訊。它跳過標準的 LSP 客戶端(如 eglot),以處理 Copilot 協定的非標準元素,並在所有緩衝區和專案中維護單一全域伺服器。
適用對象
擁有 GitHub Copilot 訂閱且希望在首選編輯器中實現 AI 輔助編碼、基於聊天的重構以及自動化文件生成的 Emacs 使用者。
主要亮點
- 內嵌補全:提供即時程式碼建議的幽靈文字。
- 互動式聊天:專用聊天緩衝區支援串流回應、多行訊息,並與目前緩衝區共享相同上下文。
- 代理模式:允許 Copilot 執行工具,如 shell 命令、檔案編輯和工作區搜尋(透過 ripgrep)。
- 一次性任務:快速命令用於審查、修復、最佳化和文件化程式碼,以及撰寫單元測試。
- 程式碼審查:整合原生 Copilot Code Review,對未提交的變更或特定區域提供結構化回饋。
- 基於程式碼的實用工具:從暫存變更產生提交訊息,並提供程式碼重寫的差異風格預覽。
- 會話持久化:可在 Emacs 重新啟動後儲存和還原聊天歷史記錄。
相關
- 專案
- 專案
- 專案
- 專案