zbirenbaum/copilot.lua

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

何を解決するか

copilot.lua は公式の copilot.vim プラグインの純粋な Lua による代替品です。現代の Neovim プラグインとより良好に統合される効率的な実装により、ノートPCの過熱や迷惑なゴーストテキストの挙動といったパフォーマンス上の問題を解消します。

動作方法

このプラグインは Neovim と GitHub Copilot Language Server の間のブリッジとして機能します。ユーザーは提案の表示および受け入れ方法をカスタマイズでき、インラインのゴーストテキストと専用のプレビュー画面の両方をサポートしています。また、copilot-lsp 依存関係を介して実験的な「Next Edit Suggestion」(NES) 機能もサポートしています。

対象ユーザー

エディタ内で GitHub Copilot の AI ベースのコード補完を求める Neovim ユーザー。特に Vim スクリプト版の代替として、よりパフォーマンスが良くカスタマイズ可能な Lua ベースの選択肢を求めるユーザーに最適です。

特徴

  • 二重提案モード: インラインのゴーストテキストと複数の提案をプレビューする分割ウィンドウパネルの両方をサポート。
  • カスタマイズ可能なトリガー: 入力時に自動的に提案をトリガーするか、キーマップで手動でトリガーするかを選択可能。
  • NES サポート: 実験的な Next Edit Suggestions 機能により、コードの次に起こりそうな変更を予測します。
  • 拡張可能な API: 他の開発者が nvim-cmpblink.cmp などの統合を構築できるように、copilot.api モジュールを提供。
  • 柔軟なアタッチ制御: should_attach および filetypes 設定を使用して、どのファイルタイプやバッファに Copilot をアタッチするかを細かく制御可能。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト