コードを読む人のためのGithub Copilot勉強会
3.14(木) 16:00-17:00 zoom id: 951 4186 8723
概要
開発者の生産性を向上させるAIペアプログラマー、GitHub Copilotについて深く掘り下げます。GitHub Copilotの基本からデモをご紹介します。また、パネラーによる実務レベルでの利用方法のご紹介もあります!
- コードを読む人のためのGithub Copilot勉強会
- 概要
- 事前知識と準備
- GitHub Copilotとは?
- GitHub Copilotのセットアップと使用方法
- GitHub Copilot Chatとは?
- GitHub Copilot Chatの使い方
- コンテキスト範囲の明示的な指定
- パネリストご紹介
- GitHub Copilotによる”コードを読む”デモンストレーション
- 新規配属時に処理の全体像を掴むとき
- レビュー、品質向上したいとき
- エラー/不具合の原因特定をしたいとき
- パネリストによる実務レベルでのGitHub Copilot活用術
- GitHub Copilotの関連リンク
事前知識と準備
GitHub Copilotとは?
GitHub Copilotは、コーディングをより速く、より少ない労力で行えるように支援するAIコーディングアシスタントです。これにより、問題解決や協力により多くのエネルギーを注ぐことができます。Copilotは、タイプするときにコーディングの提案を行います:時には現在の行の完成、時にはまったく新しいコードブロックです。提案を全部受け入れることも、一部だけ受け入れることも、提案を無視してタイピングを続けることもできます。
GitHub Copilotのセットアップと使用方法
GitHub Copilotを利用を始められる方はこちらを参照ください。
https://gen-ai-docs.jp/利用者向け/インストール設定
https://gen-ai-docs.jp/利用者向け/chatの応答を日本語化する
GitHub Copilot Chatとは?
GitHub Copilotは元々、コード補完や提案を行うツールとして開発されましたが、"Chat"機能を介してより対話的な経験を提供するようになりました。この機能を使用することで、開発者は自然言語で質問を投げかけ、コードの問題を解決するためのアドバイスを受けたり、コードスニペットを生成したりすることができます。
GitHub Copilot Chatの使い方
コンテキスト範囲の明示的な指定
GitHub Copilot では、デフォルトではアクティブなエディタの表示領域にあるコード範囲をよしなに読み取りコード提案を行なってくれます。これはこれで便利です。が、コンテキストの範囲を明示的に絞ると、より明確な提案を受け取ることができるようになります。
GitHub Copilot Chat で#file
, #editor
のように # を利用し、質問と同時に渡したい情報を投げることができる context variables という機能があります。
1.ファイルを指定する
たとえば、BasketService.cs という名前のファイルがある場合は、チャット内で #BasketService.cs
と指定します。
2.ファイル内の特定の行を指定する
#selection
を使用すると、エディターで選択した特定のテキストにCopilotの提案を集中させることができます。
3.ターミナルの特定の行を指定する
#terminalSelection
を使用すると、エディターで選択した特定のテキストにCopilotの提案を集中させることができます。
その他、コンテキスト変数として利用できるもの
パネリストご紹介
DXRD阿部さん
GitHub Copilotによる”コードを読む”デモンストレーション
新規配属時に処理の全体像を掴むとき
レビュー、品質向上したいとき
エラー/不具合の原因特定をしたいとき
パネリストによる実務レベルでのGitHub Copilot活用術
当日のお楽しみ!
GitHub Copilotの関連リンク
https://gen-ai-docs.jp/コンテンツ/カタログ/自然言語で実装内容を伝えコードを生成してもらう
https://gen-ai-docs.jp/コンテンツ/カタログ/コードの続きを補完してもらう
https://gen-ai-docs.jp/コンテンツ/カタログ/正規表現のドラフト生成
https://gen-ai-docs.jp/コンテンツ/カタログ/github-copilot-chatでユニットテストを生成する
https://gen-ai-docs.jp/コンテンツ/カタログ/関数からユニットテストを生成する
https://gen-ai-docs.jp/コンテンツ/カタログ/javaクラスにjavadocを書いてもらう
https://gen-ai-docs.jp/コンテンツ/カタログ/プログラミング言語間の翻訳
https://gen-ai-docs.jp/コンテンツ/カタログ/apiレスポンスからのオブジェクト生成
https://gen-ai-docs.jp/コンテンツ/カタログ/クラスをリファクタリングしてもらう
https://gen-ai-docs.jp/コンテンツ/カタログ/エラーや問題点のある箇所の修正提案をもらう
https://gen-ai-docs.jp/コンテンツ/カタログ/github-copilot-chatでコードのパフォーマンス上の問題を指摘してもらう