😸

GitHub Copilotは自動補完してくれるだけのAIだと思ってた

2024/12/03に公開

経緯

aiderを利用して開発する事を覚えたが "Visual Studio Code" と GitHub を利用しているともう一人のAIの存在が脳裏にチラつくと思われる、
そう、GitHub Copilot だ。
業務で "Visual Studio Code" と GitHub を利用するので存在自体は知っていた。
それにGitHub Copilotによるコード修正機能だったり予測変換にはお世話になっている。
それだけだと思って使っていたが、どうやらそうでないので今回は調べて色々試せていけたらと思う

利用条件

  • Copilot へのサブスクリプション。 Visual Studio Code で GitHub Copilot を使用するには、アクティブな GitHub Copilot サブスクリプションが必要です。 Copilot のアクセス方法の詳細については、「GitHub Copilot とは何ですか?」を参照してください。

  • Visual Studio Code。 Visual Studio Code で GitHub Copilot を使うには、Visual Studio Code がインストールされている必要があります。 詳細については、Visual Studio Code のダウンロード ページを参照してください。

  • Visual Studio Code の Copilot 拡張機能。 Visual Studio Code で GitHub Copilot を使用するには、GitHub Copilot 拡張機能をインストールする必要があります。 詳しくは、Visual Studio Code のドキュメントの「Visual Studio Code での GitHub Copilot の設定」をご覧ください。

GitHub Copilot を使用して IDE でコードの提案を取得する

特徴

IDE(コードエディタ)と連携して動くので意識しなくてもGitHub Copilotの機能があると思います。
主に自動補完やエラー修正はVisual Studio Codeと連携している皆さんなら使っているんじゃないかなと思います。

aiderとの比較

  • Git環境を構築しなくてもVisual Studio CodeなどのIDEで起動すれば動く
  • ターミナル操作ではないので直感的で分かりやすい
  • IDEのdiffのシンタックスハイライトが機能するので修正箇所が視認しやすい
  • Visual Studio Codeの拡張機能の話にはなるがUIがわかりやすくエディタとの一体感があるので受け入れやすい

使用感

Visual Studio Codeの上部またはサイドバーにCopilotアイコンまたは起動ボタンがあるので起動します。

https://github.com/nakajima-sh-cnctor/zenn-fullcalendar

編集プロジェクト

https://zenn.dev/shunsuke_stack/articles/eb9cd6c167b835

今回はCopilotで編集をしていくことにします

言語の変更

現在英語表記になっているfullcalendarを日本語表記に修正をCopilotにやらせてみます。

編集モードを起動する

質問モードを利用して編集もできますがせっかくなので編集モード使います。
スクショ上部のファイルに「+」マークのあるアイコンをクリックする事で編集モードに移行します。
編集対象ファイルは入力フォームの上の方に出てきます。
現在アクティブなファイルが表示されますが、手動で追加することも可能です。

プロンプト

今回は全体的に日本語になってもらいたいのでfullcalendarを日本語にしてと直球に伝えてみます

fullcalendarの表記を日本語にして

実行結果

修正箇所がdiffのシンタックスハイライトされて何が修正されたのか一目瞭然ですね

修正が完了したら "Accept" でこの作業を終了する事ができます。
修正内容が気に食わなければ "Discard" で作業を終了する事で修正内容をロールバックさせて元の状態に戻ります。

終了することでdiffのシンタックスハイライトが解除されます。

感想

日本語対応のライブラリもバージョンを既存のバージョンに合わせて追加してくれるし、ライブラリも問題なく動く起動できていて感動しました。
正直ライブラリは自分で指定しないとまともに動かないかなと思ってましたが、問題動きますし精度もすごく良さそうです。
aiderとの差はUIのわかりやすさと操作感です。
ターミナル操作のaiderは少し扱いにくさを感じる部分もありますがCopilotはVisual Studio Codeの拡張機能の一部として扱えdiffのシンタックスハイライトにより修正箇所が分かりやすいです。

GitHubで編集を提案

Discussion