Copilot.vim を試してみた。

Copilot.vim は、コードの自動保管機能である 「Github Copilot」 を vim で使うためのプラグインです。
試してみると、こんな感じになります。
候補が出てくるので、Tab を押すと実際に入力されます。
コミットメッセージも作ってくれたりするっぽいです。(未確認)

gif

Copilot.vim のインストール

筆者の環境は、Macbook Pro (m2) で、デフォルトシェルは fish となっています。
リポジトリhttps://github.com/github/copilot.vim.

サブスクリプション

Github Copilot」を使用するためには、事前にサブスクリプションが必要です。
https://docs.github.com/ja/billing/managing-billing-for-github-copilot/managing-your-github-copilot-subscription-for-your-personal-account

上のリンクの手順に従って操作すると、開始ボタンがあります。
スクリーンショット 2023-04-16 4 27 34

最初の30日は無料、その後は 月 10ドルとのこと。(頼む、円高になってくれ・・)
スクリーンショット 2023-04-16 3 32 36

公開コードから自動保管するか、選べるようです。
スクリーンショット 2023-04-16 3 36 59

サブスクライブできました。
スクリーンショット 2023-04-16 3 37 11

Copilot.vim を設定する手順の概要(参考)

設定手順を Readme より 引用します。:

  1. Install Neovim or the latest patch of Vim (9.0.0185 or newer).
  2. Install Node.js.
  3. Install github/copilot.vim using vim-plug, packer.nvim, or any other plugin manager. Or to install manually, run one of the following commands:

    • Vim, Linux/macOS:

      git clone https://github.com/github/copilot.vim.git \
        ~/.vim/pack/github/start/copilot.vim
      
    • Neovim, Linux/macOS:

      git clone https://github.com/github/copilot.vim.git \
        ~/.config/nvim/pack/github/start/copilot.vim
      
    • Vim, Windows (PowerShell command):

      git clone https://github.com/github/copilot.vim.git `
        $HOME/vimfiles/pack/github/start/copilot.vim
      
    • Neovim, Windows (PowerShell command):

      git clone https://github.com/github/copilot.vim.git `
        $HOME/AppData/Local/nvim/pack/github/start/copilot.vim
      

最新の vim をインストール

Copilot.vim を使用するには、vim が 9.0.0185以降である必要があります。
まずは 最新の vim をインストールします。 Mac の場合は brew です。

brew install vim

参考: https://github.com/vim/vim/blob/master/READMEdir/README_mac.txt

以下の場所に vim が入りました。

/opt/homebrew/Cellar/vim/9.0.1450/bin/vim

スクリーンショット 2023-04-16 1 58 23

パスを通します。
fish の設定ファイル「~/.config/fish/config.fish」 に 「fish_add_path /opt/homebrew/Cellar/vim/9.0.1450/bin」 を追加します。 zsh の場合は、.zprofile になります。

if status is-interactive
    # Commands to run in interactive sessions can go here
end
fish_add_path /opt/homebrew/bin
fish_add_path /opt/homebrew/Cellar/vim/9.0.1450/bin

vim のバージョンが最新になりました。
スクリーンショット 2023-04-16 2 21 44

スクリーンショット 2023-04-16 2 22 10

Node.js のインストール

Copilot.vim を使用するには、Node.js が必要です。
参考:https://nodejs.org/en/download
.pkg 形式のインストーラを使い、インストールできました。

スクリーンショット 2023-04-16 2 26 59

インストール先の「/usr/local/bin」 にパスが通っているか確認します。
通っていました。
スクリーンショット 2023-04-16 2 31 39

node, npm のパスとバージョンを確認しておきます。
スクリーンショット 2023-04-16 2 51 36

image

Copilot.vim のインストール

git clone https://github.com/github/copilot.vim.git \
  ~/.vim/pack/github/start/copilot.vim

vim で以下のコマンドを実行します。

:Copilot setup

ワンタイムコードが出ますので控えて Enter を押します。
スクリーンショット 2023-04-16 2 39 54

WEBブラウザが開き、 Github との連携を認証する画面が出ます。Authorize〜を押して承認します。
スクリーンショット 2023-04-16 2 38 21

連携できました というメッセージが出ます。
スクリーンショット 2023-04-16 2 39 15

以下のコマンドで状態を確認します。

:Copilot status

利用可能になったようです。

スクリーンショット 2023-04-16 4 02 37

結果は冒頭に載せた GIF になります。