2025年4月10日木曜日

emacs で copilot に質問する

emacs で copilot に質問する

概要

過去に紹介した copilot.el だと補完はしてくれますがチャットはできないので別途拡張をインストールする必要があります

環境

  • Ubuntu 24.04
  • emacs 29.1

インストール

  • package-list-packages
  • copilot-chat
  • i -> x -> y

チャットする

  • M-x copilot-chat-display

初回はログインが必要

チャット用のバッファが起動したら質者を入力し送信します
送信する場合はエンターではなく C-c C-c で送信できます

するとワンタイムコードが発行されるので copilot を使うユーザでブラウザの https://github.com/login/device にアクセスし表示されているワンタイムコードを入力します
これで copilot-chat が使えるようになります

結果を確認する

C-c C-c でチャットを送信すると以下のように結果が返ってきます

結果を別のバッファに反映させるには copilot-chat-yank を実行します

キーバインドで行いたい場合は以下の設定が良いようです

(use-package copilot-chat
  :bind (:map global-map
            ("C-c C-y" . copilot-chat-yank)
            ("C-c M-y" . copilot-chat-yank-pop)
            ("C-c C-M-y" . (lambda () (interactive) (copilot-chat-yank-pop -1))))
)

最後に

emacs から copilot にチャットを送信してみました
Symbol's function definition is void: json-parse-buffer になる場合はそもそも copilot のチャット機能が無効化されている可能性があります

もしくは emacs のバージョンが古いと出るので 30 台にバージョンアップしてください

参考サイト

0 件のコメント:

コメントを投稿