zbirenbaum/copilot.lua

Fully featured & enhanced replacement for copilot.vim complete with API for interacting with Github Copilot

解決的問題

copilot.lua 是官方 copilot.vim 插件的純 Lua 替代品。它透過提供更高效的實作方式,與現代 Neovim 插件更好地整合,解決筆電過熱與令人分心的幽靈文字行為等效能問題。

工作原理

此插件作為 Neovim 與 GitHub Copilot Language Server 之間的橋樑。允許使用者自訂建議的顯示與接受方式,支援內嵌幽靈文字與專用預覽面板。同時也透過 copilot-lsp 依賴項,支援實驗性的「下一步編輯建議」(NES) 功能。

適用對象

希望在編輯器中使用 GitHub Copilot 的 AI 驅動程式碼補全功能的 Neovim 使用者,特別是尋求比 Vim 腳本版本更高效、更可客製化的 Lua 替代方案的使用者。

主要亮點

  • 雙模式建議:同時支援內嵌幽靈文字與用於預覽多個建議的分屏面板。
  • 可自訂觸發:可選擇在輸入時自動觸發建議,或透過快捷鍵手動觸發。
  • 支援 NES:實驗性支援「下一步編輯建議」,可預測程式碼中接下來最可能的變更。
  • 可擴展 API:提供 copilot.api 模組,允許其他開發者建構整合(例如與 nvim-cmpblink.cmp 集成)。
  • 靈活的附加控制:透過 should_attachfiletypes 設定,可細緻控制 Copilot 應附加到哪些檔案類型或緩衝區。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案