学生ならとりあえずGitHubCopilot使え!!!
「神戸電子専門学校 ゲーム技研部 Advent Calendar 2023」4日目の記事です。
はじめに
最近AI系のトレンドが(良い意味でも悪い意味でも)絶えません。そんな中プログラマーなら知っている人が多いと思いますが、プログラミング界隈にも当てはまるAI技術があります。
それがGitHub Copilotです。
GitHub Copilotとは
生産性を爆上げ(当社比)してくれるAIベースのコード補完ツールです。GitHubから学習しているだけあって、GitHubにあるコード量が多い言語に関してのコード提案の精度はかなり高いと感じています。
当初はライセンス無視で提案してきたり[1]、学習されてしまった機密情報などがそのまま出力されたり[2]とありましたが、現在はかなり対策されてきています。[3]さらに現在では企業レベルで導入も進んでいるようです。[4][5]
でもお高いんでしょう?
じつは、GitHub Education
にあるGitHub Student Developer Pack
に同梱されており
学生なら2年間(延長可) >>無料<< で使えちゃいます
しかも、2023年12月からGitHub Copilot Chatもプライベートベータからオープンベータになったので、GitHub Copilot
を持っている人なら順番待ちが不要になります!
一般の人でも30日のお試し期間後、月10ドルor年100ドルで使えます。(ちなみに赤字らしいです[6])
年100ドルだと払えなくはないですが、赤字なうえに円安も重なると💸になってしまうのでこの価格で維持してほしいところです、、、
導入方法
タイトルにある通り、学生向けなのでGitHub Education
に登録する手順から紹介します。
GitHub Educationを申請
以外の項目は共通なので、一般の方がもしいればGitHub Educationを申請
を飛ばしてください。
GitHub Educationを申請
このURLから申請することができます。中央にあるJoin Global Campus
をクリックします。
生徒ですか?と注意書きみたいなのが表示されます。生徒の方で要件を満たす方はYes, I'm a student
をクリックします。
教師か学生かを選択します。デフォルトでStudent
が選択されていると思うので、そのままでOKです。
下の方にスクロールすると学校についての情報の入力を求められます。
What e-mail address do you use for school?
には、GitHub
に登録したメールアドレスが表示されています。メールアドレスには、学校から配布された学校固有のドメインが入った(xxx@kobedenshi.ac.jpのような)メールアドレスが必要です。学校のメールアドレスで登録した場合はそのままで大丈夫ですが、個人のメールアドレスで登録した場合は、アカウントに学校メールアドレスを追加してください。(新しくアカウントを作成する必要はありません)
What is the name of your school?
には学校名を入力します。神戸電子専門学校
の場合はKIC
と入力すれば表示されました。学校名を入力したタイミングで、メールアドレスのドメインのチェックが入ります。アカウントに登録されているメールアドレスのドメインと一致しない場合は、画像のように警告が表示され登録できません。
How do you plan to use GitHub?
にはどのように使うかを記述します。今回は適当に翻訳したThe purpose is to research the Pro version of GitHub and use GitHub Copilot.
(「目的は、GitHub の Pro バージョンを調査し、GitHub Copilot を使用することです。」)としています。(たぶん英文ならなんでも大丈夫です)
全ての要件を満たしたらContinue
がクリックできるようになります。
次のページでは学生証の写真を撮りアップロードしてGitHubの方で検証してもらう必要があります。アップロードが完了すると、審査待ちの状態になります。
審査が通ると、メールで連絡が来ます。時期によって審査結果が通知される日程は変動しますが、調べたところによると1~7日のようです。
プロフィールを見てみると、左下Highlights
にPRO
の表記が追加されているのが確認できると思います。
GitHub Copilot
は、アカウントの設定のCopilot
で画像のような設定項目が表示されれば無事有効化されています。(おそらくGitHub Education
の申請が通ったタイミングで有効化されると思います)
ちなみにGitHub Copilot Chat
は今現在もプレビュー機能ですが、パブリックベータになりGitHub Copilot
のアクセスが許可された時点でこちらも自動的にアクセスが許可されます。
これでGitHub Education
の申請は完了です。
Visual Studio Code
以下VSCodeと略します。VSCodeの初期の画面です。拡張機能をインストールするには、左の箱のアイコンのExtensions
をクリックします。
今回導入する拡張機能です。GitHub Copilot
とGitHub Copilot Chat
を導入します。
拡張機能のインストールが完了すると、左のアカウントのアイコンに通知アイコンが付き、Sign in with GitHub to use {拡張機能名}
と表示されます。または、右側にSign in to access GitHub Copilot.
と表示されます。どちからクリックすると、ブラウザが開くのでGitHub Copilot
が有効化されているアカウントでログインしてください。
どちらともログインが完了すると、通知アイコンは消え、右下にGitHub Copilot
のアイコンが表示されます。
一応違う方法で確認してみます。アカウントアイコン→ユーザー名(GitHub)
→Manage Trusted Extensions
をクリックしてください。
するとVSCodeの画面上部にそのアカウントが利用されている拡張機能が表示されます。これで導入は完了です。
コミットコメントの自動生成
いつの間にか使えるようになっていたので紹介します。VSCodeにはGit Lens
というGit関連の拡張機能があり、それを導入するとChatGPT(OpenAI)を利用したコミットコメントの自動生成が可能になります。これを利用するにはChatGPTのAPIKey(有料)を登録しなければならないのですが、GitHub Copilot Chat
を導入していればGitHub Copilot Chat
経由で生成できるようになり、APIKeyは不要になります。
コミットのコメントの右にある星マークGenerate Commit Message
をクリックするとステージングの内容を解析し、コメントを自動生成してくれます。
Visual Studio 2022
Visual Studioの初期の画面です。プロジェクトは作成しなくてもいいので、右下のContinue with code
をクリックします。
画面上部のExtensions
のManage Extensions...
をクリックします。
Manage Extensions
という別ウィンドウが開き、拡張機能の管理が行えます。
左側のOnline
を選択し、右上にあるSearch
にGitHub
と入力して出てきたGitHub Copilot
とGitHub Copilot Chat
をインストールします。
インストールが終わると、画面下部に再起動の通知が表示されます。なので一度Visual Studioを終了します。
Visual Studioを終了させると、VSIX Instsaller
というウィンドウが表示されます。ここでは変更する(インストールする)拡張機能の一覧が表示されます。問題なければModify
をクリックします。
インストールが完了すると、拡張機能の左にチェックマークが付きます。これでVisual Studioでの拡張機能の導入は完了です。
Preview機能の申請
これは特にやらなくてもOKです。現在の最新のプレビュー機能はここで試すことができます。
現時点での一般で使えるプレビュー機能は
-
Copilot Chat in JetBrains IDEs
プライベートベータ。JetBrains製品でGitHub Copilot Chat
を利用する場合に必要。 -
Copilot Chat in Visual Studio and Visual Studio Code
パブリックベータに変更。対話型の機能。 -
Copilot in the CLI
プライベートベータ。GitHub CLI
でCopilotの機能が利用できる。 -
Copilot code referencing
プライベートベータ。ライセンスと一致するコードが見つかった場合に通知されるようになる。
になります。Copilot code referencing
は有効化しておくと、提案されたコードのライセンスに敏感にならなくても良くなる(と思う)のでオススメです。
おわりに
GitHub Copilot
がプレビュー機能になった時から利用していたのですが、これはもう日常的に利用していて手放せなくなっています。(日常的にChatGPTを利用している人ならこの気持ちが分かるはず、、、)
GitHub Copilot X
も発表されましたし、これから本当にCopilot
として成長していくのが楽しみです。
Discussion