10/29-30 にサンフランシスコで開催された GitHub Universe 2024 で色々と発表がありました。私も現地で参加してきてその熱気に刺激されて帰ってきました😀
発表されたほとんどの情報は以下の公式のブログやその周辺の公式の記事に任せるとして、個人的に気になった情報をピックアップします。
早めにブログ投稿しようと思ってたらもう11月中旬に💦💦💦💦waitlist 登録が必要な機能が多く、気になる機能は使えるようになってから試してブログにしようと思ったのに、全然使えるようにならないので諦めました。
皆さんも気になる機能があったら、とりあえず waitlist 必要なのか確認してから試しましょう。
- 全般
- GitHub Copilot 関連
- Copilot Chat のコードの提案を複数ファイル同時に編集可能に
- VS Code 上で GitHub Copilot がコードレビューしてくれる機能
- GitHub Copilot のコードレビューにカスタムガイドラインを指定: その1
- GitHub Copilot のコードレビューにカスタムガイドラインを指定: その2
- GitHub Copilot のコード生成・テストコード生成にカスタムなガイドラインを追加
- 開いてるエディタを明示的にコンテキストから除外できるように
- ローカルの VS Code で開いている workspace を indexing できるように
- Visual Studio/C# でコード補完の改善
- Anthropic の Claude 3.5 Sonnet, Google’s Gemini 1.5 Pro と OpenAI’s o1-preview and o1-mini が利用可能に
全般
GitHub Spark が登場
- 自然言語で指示しながらアプリを作れる機能である GitHub Spark が登場。
- GitHub Universe のセッションではゲームを作るようなデモが行われてたが、これ系個人的にあんま興味はない。
- 詳しく見たい方は以下リンクで情報を見れます。
Windows Terminal で GitHub Copilot が利用可能に。
- 現在利用できるのは、Windows terminal の Canary ver のみ。
- 始め方は以下のドキュメントに。
GitHub Models が public preview になり誰でも利用可能に
- いろんな LLM をサクッと試せる GitHub Models が Waitlist の登録なしで利用可能に (ずっと使えてたから誰が使えないとか把握してなかった💦
- もちろん GitHub のアカウントは必要。
- 参考: GitHub Models - GitHub Docs
Copilot Autofix が OSS で無償利用可能に
- Copilot Autofix は GitHub Advanced Security のライセンス必須の機能 (Copilot のライセンスは不要) でしたが、OSS (ようは public repo) では無償で利用可能に。
- Copilot Autofix はこのブログでも最近頻出中の機能だけど、CodeQL のセットアップをすると、CodeQL でアラートがあった場合のコードの修正を Copilot Autofix でやってくれる。
- 参考: コード スキャンに対する Copilot Autofix の責任ある使用 - GitHub Enterprise Cloud Docs
Security Campaigns 機能
- Organization トップの "Security" タブから Security Campaign を作成可能に。
- Security Campaignは、特定の CWE や CodeQL の alert に対して、期間を決めて解決しようってプランを作れる感じ。作ると、organization レベルで対象のアラートの一覧が表示されて = 専用のビューができるので、解決が促せるよって感じの機能。機能というかアラート解決のモチベをあげるためのビューというか。
GitHub Copilot 関連
Copilot Chat のコードの提案を複数ファイル同時に編集可能に
これは VS Code 利用時の Copilot Chat の機能で、2つの機能のアップデートで実現されてます。
- Edit with Copilot という機能を使うことで、GitHub Copilot Chat のコードの提案が直接コードのファイルに反映されるようになりました (以前は提案されたコードを自分でファイルに反映させる必要がありましたよね)。
- Multi-file editing の機能が出たことで、複数のファイルを同時に更新してくれるようになりました。例えば Web フロントのコードの提案がきたときに HTML と JS と CSS のファイルを同時に更新してくれる感じ。
- 参考: Multi-file editing, code review, custom instructions, and more for GitHub Copilot in VS Code October release (v0.22)
VS Code 上で GitHub Copilot がコードレビューしてくれる機能
- VS Code 上で実装したコードを GitHub Copilot がレビューしてくれるようになりました。
- レビューしてくれるのは以下の2つのはずだが、私も使えたことがない (waitlist の承認を待ってる)
- 1つ目は、VS Code からレビューが可能。
- コマンドパレットの "GitHub Copilot: Review and Comment" から。
- Source control アイコンをクリック → Commit message 入力の上にレビューのアイコンがでる。
- 2つ目は、GitHub の Pull Request の画面で、Reviewer に Copilot を追加することでコードレビューしてくれる。
- 1つ目は、VS Code からレビューが可能。
- 参考: GitHub Copilot コード レビューの使用
GitHub Copilot のコードレビューにカスタムガイドラインを指定: その1
- GitHub.com の repo の Settings → Copilot の中で Code review → Create Code review よりコーディングガイドラインを指定できる。
- が、waitlist がこなくてまだ使えたことない。
- カスタムコーディングガイドラインを設定すると、その repo での GitHub Copilot がコードレビューに自動で適用される。
- 参考: GitHub Copilot コード レビューのコーディング ガイドラインの構成
GitHub Copilot のコードレビューにカスタムガイドラインを指定: その2
- これは、VS Code の Settings で
github.copilot.chat.reviewSelection.instructions
にテキストを入力またはファイルを指定してレビューのガイドラインを指示することが可能。
GitHub Copilot のコード生成・テストコード生成にカスタムなガイドラインを追加
さっきまではレビュー時のガイドラインの指定だったけど、ここはコード生成・テストコード生成ができるって話。同じことするのに設定が複数あるってちょっと微妙に感じてる。
コードレビューのガイドラインの機能を2つに分けて書きましたが、同じ粒度で分けるなら3つに分けろよ感ある内容になります。
コード生成時の設定方法は2通り:
- 1つ目は、VS Code の設定:
github.copilot.chat.codeGeneration.instructions
で指示を定義。 - 2つ目は、repo のルートに
.github/copilot-instructions.md
をおいて指示を定義。- この際 VS Code の設定
github.copilot.chat.codeGeneration.useInstructionFiles
を true にする必要あり。
- この際 VS Code の設定
- テスト生成時についても設定が必要だがコード生成の指示と似た感じなので詳しくは参考のドキュメント見てねと。
- 参考: Custom instructions for GitHub Copilot in VS Code
開いてるエディタを明示的にコンテキストから除外できるように
- 今までは開いてるファイルは勝手に GitHub Copilot への質問のコンテキストに含まれていましたが、明示的に外せるようになったのでちょっと外れた質問を同じスレッドでしやすくなりましたね。
ローカルの VS Code で開いている workspace を indexing できるように
GitHub Copilot: Build Local Workspace index:
- VS Code 開いているローカルのワークスペースをインデックス化でいるようで。
- 最大2000ファイルまでいけるようですが、インデックス化したデータ
Visual Studio/C# でコード補完の改善
- Visual Studio での話。
- 開いていないファイルでも、コンテキストとして必要と思われるファイルはコンテキストに含まれるように改善が入ったので、よりよいコードの提案してくれるはず。
- 参考: Improving GitHub Copilot code suggestions in Visual Studio for C# developers
Anthropic の Claude 3.5 Sonnet, Google’s Gemini 1.5 Pro と OpenAI’s o1-preview and o1-mini が利用可能に
- GitHub Copilot のモデルが選べるようになりました。
- Anthropic の Claude 3.5 Sonnet (既に利用可能)
- Google’s Gemini 1.5 Pro (まだ利用不可、Coming soon)
- OpenAI’s o1-preview and o1-mini (既に利用可能)
- 設定は、Enterprise settings または Organization Settings で Copilot の Polices から有効化して利用可能。