はじめに
先日、プレビュー版ですがGPT-4ベースである「GitHub Copilot X」が発表されました。
AIを活用することにより、初心者の方でもプログラミングに対するハードルは下がると思いますし、ベテランエンジニアでも不具合対応やよりよいコードを提案してもらえたらとても便利だと思います。
今回は、既に公開されているGitHub Copilotを試してみました。
類似サービスのAmazon CodeWhispererについて、試してみた記事も参考にしてください。
他にもオススメのAIサービスについてまとめましたので、参考にしてください。
GitHub Copilotとは
GitHubとOpenAIが共同で開発し、AIによるコードを補完してくれるツールです。
GPT-3.5 Turboという大規模な機械学習モデルを利用しています。
GitHub Copilotは、2022年6月に個人開発者向けに公開されました。
現在は、ビジネス向けにも公開されています。
登録方法
以下の公式サイトにアクセスします。
料金についてですが、個人向けは月額10ドル、ビジネス向けは月額19ドルとなっています。
今回は個人用で登録しますので、「Start a free trial」ボタンをクリックします。
![GitHub Copilot 料金](https://chigusa-web.com/wp-content/uploads/2023/04/2023-04-11_22h07_16-1024x507.png)
30日間の無料期間がありますので、是非試してみましょう。
月額プランを選択し、「Get access to GitHub Copilot」をクリックします。
![GitHub Copilot Get access to GitHub Copilot](https://chigusa-web.com/wp-content/uploads/2023/04/2023-04-11_22h25_46-500x728.png)
氏名や住所、支払い方法を選択します。
支払方法は、クレジットカードかPayPalアカウントを使用することができます。
余談ですが、私は以前GitHub Sponsorsで開発者へ寄付したことがあり、その時の情報が残っていました。
![GitHub Copilot payment details](https://chigusa-web.com/wp-content/uploads/2023/04/2023-04-11_22h37_12-1024x745.png)
設定を選択します。後から変更することも可能です。
「Suggestions matching public code」については、「Allow」を選択しました。
公開されているコードに一致する提案をするかどうかですが、試してみてから判断したいと思います。
「Allow GitHub to use my code snippets for product improvements」については、自分のコードが送信されるのを防ぐためチェックを外しました。
![Allow GitHub to use my code snippets for product improvements](https://chigusa-web.com/wp-content/uploads/2023/04/2023-04-11_22h45_00-1024x823.png)
登録が完了しました。
![GitHub Copilot 登録完了](https://chigusa-web.com/wp-content/uploads/2023/04/2023-04-11_22h45_58-500x634.png)
サブスクリプションのキャンセル
もし、トライアルやサブスクリプションをキャンセルしたい場合は、設定を開きます。
![GitHub 設定](https://chigusa-web.com/wp-content/uploads/2023/04/2023-04-11_22h50_50-300x620.png)
左メニューの、Access→Billing and plans→Plans and usageを選択します。
GitHub CopilotのEditをクリックし、無料期間のキャンセルは「Cancel trial」を選択します。
![GitHub Copilot Cancel trial](https://chigusa-web.com/wp-content/uploads/2023/04/2023-04-11_22h52_30-1024x285.png)
導入
GitHub Copilotは以下のツールに対応しています。
![GitHub Copilot ツール](https://chigusa-web.com/wp-content/uploads/2023/04/2023-04-11_22h04_57-1024x268.png)
今回はVS Codeを使用します。
VS Codeのインストール方法は、以下の記事にまとめましたのでご覧ください。
VS Codeのオススメ設定や拡張機能などは、以下の記事にまとめました。
VS Codeを起動します。
拡張機能を開き、「GitHub Copilot」をインストールします。
![GitHub Copilot VS Code](https://chigusa-web.com/wp-content/uploads/2023/04/2023-04-11_22h55_33-1024x266.png)
GitHubへのサインインを求められますので、サインインします。
![GitHub Copilot VS Code サインイン](https://chigusa-web.com/wp-content/uploads/2023/04/2023-04-11_22h56_20.png)
試してみる
コードの提案
試しにJavaScriptファイルを作成しました。
![GitHub Copilot JavaScript](https://chigusa-web.com/wp-content/uploads/2023/04/2023-04-11_23h01_05-1024x318.png)
公式ドキュメントを参考に、関数名を入力してみましょう。
function calculateDaysBetweenDates
グレーの文字列で提案されました。
受け入れるにはTabキーを押します。キャンセルするにはEscキーを押します。
![GitHub Copilot VS Code](https://chigusa-web.com/wp-content/uploads/2023/04/2023-04-11_23h03_44-1024x316.png)
一瞬でコードが作成されました。
![GitHub Copilot VS Code](https://chigusa-web.com/wp-content/uploads/2023/04/2023-04-11_23h05_22.png)
提案中に、Ctrl+Enterキーを押すことにより、別なタブで複数の提案を一覧で見ることができます。
提案の中で良いものがあれば、「Accept Solution」をクリックします。
良いものがない場合は、タブを閉じましょう。
![GitHub Copilot Accept Solution](https://chigusa-web.com/wp-content/uploads/2023/04/2023-04-11_23h09_21-1024x677.png)
ちなみに特に何も入力せずとも、これまでの入力を基に関数の提案がされました。
![GitHub Copilot VS Code](https://chigusa-web.com/wp-content/uploads/2023/04/2023-04-11_23h11_03.png)
コメントから提案
コメントを入力すると、関数を提案します。
![GitHub Copilot コメント提案](https://chigusa-web.com/wp-content/uploads/2023/04/2023-04-11_23h14_45.png)
無効にする
GitHub Copilotを無効にしたい場合は、右下のアイコンをクリックし、Disableを選択します。
![GitHub Copilot VS Code 無効](https://chigusa-web.com/wp-content/uploads/2023/04/2023-04-11_23h16_02-1024x307.png)
実戦
実戦に近い形で試してみましょう。
Laravelプロジェクトを作成し、VS Codeで開きます。
Laravel Sailでの開発環境の構築方法は以下をご覧ください。
LaravelのPHPの処理で関数を作成したところ、Laravelのクエリを実行するコードが提案されました。
正しくフレームワークを認識して提案しているようです。
![GitHub Copilot Laravel](https://chigusa-web.com/wp-content/uploads/2023/04/2023-04-11_23h20_13.png)
関数を指定しての提案の他、変数の提案など細かいところもサポートします。
![GitHub Copilot 関数](https://chigusa-web.com/wp-content/uploads/2023/04/2023-04-11_23h27_32.png)
HTMLやJavaScriptを認識して提案もします。
必ずしも欲しいものが提案されるとは限りませんが便利です。
![GitHub Copilot HTML](https://chigusa-web.com/wp-content/uploads/2023/04/2023-04-11_23h29_45.png)
ちなみにCliborはDelphiという開発環境を使用しています。
去年からVS Codeでコーディングをしていましたが、Delphiのコードも提案してくれました。
![GitHub Copilot Delphi](https://chigusa-web.com/wp-content/uploads/2023/04/2023-04-11_23h42_39.png)
注意点
提案されたコードが正しいかどうかは、必ず確認する必要があります。
不具合・脆弱性がある場合や、提案されたコードよりもっと良いコードがあるかもしれません。
さいごに
今回はGitHub Copilotを試してみました。
自動でコードの提案されるのはとても便利です。
今後「GitHub Copilot X」など、さらに開発作業は進化していくことでしょう。
楽しみですね!
コメント