概要
copilot が無料になって誰でも使えるようになったので emacs の設定をしました
環境
- macOS 15.2
- emacs 29.4
- node 20.17.0
準備
- node のインストール
- nvm でローカルだけ使えるようにしてそこで emacs を起動しても OK
- editorconfig、jsonrpc のインストール
- package-list-packages などで melpa からインストールすれば OK
copilot.el のインストール
最初に straight.el をインストールしています
そのあとで copilot.el をインストールしています
初回起動時はいろいろと clone するので少し時間がかかります
; for copilot (with straight)
(defvar bootstrap-version)
(let ((bootstrap-file
(expand-file-name
"straight/repos/straight.el/bootstrap.el"
(or (bound-and-true-p straight-base-dir)
user-emacs-directory)))
(bootstrap-version 7))
(unless (file-exists-p bootstrap-file)
(with-current-buffer
(url-retrieve-synchronously
"https://raw.githubusercontent.com/radian-software/straight.el/develop/install.el"
'silent 'inhibit-cookies)
(goto-char (point-max))
(eval-print-last-sexp)))
(load bootstrap-file nil 'nomessage))
(use-package copilot
:straight (:host github :repo "copilot-emacs/copilot.el" :files ("*.el"))
:ensure t)
copilot サーバのインストール
M-x copilot-install-server
で node が起動しサーバのインストールと起動が始まります
node で書かれておりバックグラウンドで npm が起動し copilot-node-server がインストールされます
執筆時点ではバージョンは 1.27.0 でした
copilot-install-server というバッファに「Comint finished at Thu Dec 19 14:44:17」という感じで表示されれば OK です
copilot へのログイン
M-x copilot-login
を実行します
- ワンタイムコードが発行されるのでコピーします
- https://github.com/login/device にアクセスします、アクセスするブラウザは copilot を使う Github アカウントでログインしているブラウザを使います
- コピーしたコードを入力し認証します
下のような画面が表示されればあとは許可すれば OK です
emacs 側には「Authenticated as GitHub user username.」と表示されれば OK です
使ってみる
適当に Python ファイルなどを開いてみましょう
M-x copilot-mode
で起動します
自動で copilot-mode にする場合は以下を追加します
(add-to-list 'copilot-major-mode-alist '("python" . "python"))
上記がうまく動作しない場合は以下でも OK です
(add-hook 'python-mode-hook 'copilot-mode)
copilot によって補完された候補を入力するには M-x copilot-accept-completion
を実行します
これをショートカットキーに登録しておいてもいいかなと思います
うまく補完してくれない場合には M-x copilot-diagnose
を実行して copilot events バッファにエラーログが出ていないか確認しましょう
最後に
emacs + copilot の設定をしてみました
無料だと制限があるのでそのうち制限に引っかかって使えなくなるかなと思います
勝手にガンガン補完してくれるので慣れるまで結構かかるかもしれませんが慣れれば便利なのかもしれません
0 件のコメント:
コメントを投稿