はじめに
GitHub Copilotを使用するようになってからしばらく経ちますが、日々なんとなく使っているだけでちゃんと使いこなせてはいませんでした。(実際、サジェストを受け入れる以外の使い方をしたことがありませんでした)
『Software Design 2024年11月号』にて、森下篤さんがCopilotに関する知識や便利な活用方法について執筆されていたので、学習も兼ねてその内容をまとめてみました。
Copilotのサジェストを受け入れる
Tab
キーで提案を確定させることができます。
複数のサジェストから選択する
Ctrl
+ Enter
エディタの右側にパネルが開き、複数のコードが提案されます。
Copilotがサジェスト時に参考にする情報
- 現在編集中のコード
- 同じディレクトリの他のファイル
- 現在別タブで開いているファイルの内容
例えば、実装済みコードと同じようなパターンの処理を実装したい場合は、あえてそのファイルを別タブで開いておくと、近いコードになるように提案してもらいやすくなります。
オープンソースコードのライセンスを侵害するリスクを減らす
Copilotの学習元はGitHub上の公開コードであるため、Copilotのサジェスト内容をそのまま受け入れることで、オープンソースコードのライセンスを侵害してしまうリスクが伴います。
このリスクを回避するためには、Suggestions matching public code (duplication detection filter)
という機能を有効にすると、公開コードと一定以上一致するコードを補完しないようにさせることができます。
期待通りのサジェストを引き出すTips
以下の点を意識することで、Copilotから期待通りのサジェストを引き出しやすくなります。
- 関数や変数の定義名を実装に具体的なものにする
- 処理の前や関数にコメントをつける
(最終的に残さないコメントであってもCopilotのために記述し、後で削除することも有用) - 複雑な処理を実装していると、サジェストにも時間を要するため、少し長めに提案を待ってみると良い
- 1回の指示で多くを盛り込みすぎない
複雑で長文の指示を書くよりも、過程を1つずつ指示する方がCopilotに理解されやすくなります。
チャットでCopilotに指示を出す
ソースコードを編集したい箇所にカーソルを移動、もしくは範囲選択した状態で⌘
+I
を押します。(WindowsならCtrl
+I
)
すると、プロンプト入力のポップアップが表示されます。
指示したい内容を入力してEnter
を押すと、指示内容に沿ったサジェストを表示してくれます。
サジェストを受け入れたい場合は⌘
+Enter
(Windows:Ctrl
+Enter
)を押します。
チャット機能の専用コマンドを使う
先ほど紹介したチャット機能には、コマンドが用意されています。
プロンプトの最初にこれらのコマンドを入力することによって機能します。
-
/tests
テストを作成させることができます。 -
/doc
ドキュメントコメントを作成させることができます。 -
/fix
発生しているエラーを修正させることができます。
Gitのコミットメッセージを生成させる
Gitのコミットメッセージ入力欄の右側に、Copilotを呼び出すボタンがあります。
これを押すと、ステージングされているファイルからコミットメッセージを考案してくれます。
ただし、Copilotが提案してくれるのは英語メッセージのみで、日本語には対応していないようです。(2025/01/06時点)
提案が気に入らない場合は、再度生成ボタンを押すことで別の提案を表示することができます。
まとめ
便利な機能がたくさん紹介されており、今まで知らなくて損していたなぁと思いました。私と同じように、まだCopilotの一部の機能しか使ったことがない方々の参考になれば幸いです。
参考にさせていただいた書籍
第1特集 ~新世代の開発スタイル はじめてのAI駆動開発 面倒な作業は生成AIに任せよう~ 第1章 『GitHub Copilotで楽々コーディング 単純作業はAIにサクッとやってもらおう』森下 篤