目次
Neovimを使っていてCopilotを入れたくなって調べてみたので備忘録を残します。
Copilot(AIアシスト)機能を提供するプラグイン
NeovimにはいくつかAIアシスト系のプラグインはいくつかありますが、参考動画をみて今回は3つの中から決めました。
- ChatGPT.nvim
- codeium.nvim
- copilot.vim
結論としてはcopilot.vimを選択しました。
ChatGPT.nvimはcopilot的なアシストというよりかはChatGPTのようにチャットをして話しながら進めるものっぽかったのでやめました。
codeiumは補完機能として別窓で表示されるみたいですが、copilotはゴーストとして表示されるようです。無料で使えるのがよさそうでしたが、性能自体はcopilotの方が良いっぽいです。(Githubのコードを使って学習しているため)
個人的には既にcopilotを契約していたので、GitHubアカウントを紐付けるだけで良いcopilot.nvimがよさそうだと思いました。
| 機能名 | 特徴・説明 | 利用料金 | その他の情報 |
|---|---|---|---|
| ChatGPT.nvim | ChatGPTのようにチャット形式で進めるアシスト機能。 | 無料 | コード補完よりも対話重視。 |
| codeium.nvim | 補完機能として別ウィンドウに表示。ゴースト表示はなし。 | 無料(制限あり) | 性能は良いが、Copilotと比較すると劣る。 |
| copilot.vim | GitHub Copilotの機能を利用し、ゴースト表示でコード補完。 | 有料(サブスクリプション) | GitHubアカウントと連携が簡単。 |
copilot.vimを入れてみる
実際にcopilot.vimを入れてみたところ、詰まったりしたのでメモを残します。
copilot.vimのインストール
copilot.vimを導入する場合は、lazy.nvimなどを利用してインストールするだけです。
レポジトリはgithub/copilot.vimです。
lazy.nvimの場合
init.luaで管理している場合:
{
"github/copilot.vim"
}
LazyVimなどpluginディレクトリ+別ファイルで管理している場合:
return {
"github/copilot.vim"
}
エラーが出たら...
ちなみに私はfatal: could not read Username for ...と表示されてエラーになりました。
調べると同じような状態になっていた人がredditでいました。
コメントを見るとタイポみたいだったので、自分もよく見るとインストールしようとしていたのがcopilot.nvimで実際に書くべきはcopilot.vimでした。
nは必要なかったみたいです。笑
当たり前ですがgithub/copilot.vimに直したらうまくいきました。
copilot.vimの設定
インストールしたら:Copilot setupでGithub Accountにログインして:Copilot enableを設定します。
やってみたところ下記のエラーが出ました。
Node.jsの問題
次に、:Copilot setupを実行した際に"Node.js not found in path"というエラーが表示されました。
私はNode.jsがインストールされているはずだと思っていましたが、どうやらzshのパスにNode.jsが通っていないようでした。Qiitaの記事を参考にパス設定を行ったところ、この問題も解決しました。
もう一度:Copilot setupしてInputの右上に出てきたコードをコピーしてメモに写し、ブラウザで開いているNeoVimに貼り付けました。
本来は:Copilot enableで有効化しますが、私の場合は何もしなくても有効化されていました。
これでcopilotが無事使えるようになりました。
