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 サブスクリプションを持っている Emacs ユーザーで、AI ベースのコーディング、チャットベースのリファクタリング、および好みのエディタ内での自動ドキュメント作成を希望する方。
主な特徴
- インライン補完: リアルタイムのコード提案用のゴーストテキストを提供。
- インタラクティブチャット: ストリーミング応答をサポートする専用チャットバッファ、複数行メッセージの対応、現在のバッファと同じコンテキストを維持。
- エージェントモード: Copilot がシェルコマンドの実行、ファイル編集、ワークスペース検索(ripgrep による)などのツールを実行可能。
- ワンショットタスク: コードのレビュー、修正、最適化、ドキュメント化、ユニットテストの作成など、迅速なコマンドを提供。
- コードレビュー: ネイティブな Copilot Code Review を統合し、未コミットの変更や特定の領域に対して構造化されたフィードバックを提供。
- コードベースのユーティリティ: ステージングされた変更からコミットメッセージを生成し、コード再書き換えの差分スタイルプレビューを提供。
- セッションの永続化: Emacs の再起動後もチャット履歴を保存・復元可能。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト