🐧

【Microsoft AI Day Osaka】 GitHub Copilotの活用テクニック

2024/05/14に公開

はじめに

2024年4月16日(火)Microsoft AI Day Osakaに参加しました。
その際に、GitHub Copilotの活用テクニックについてのセクションがあったのでまとめます。

Microsoft AI Day Osakaの概要
https://www.microsoft.com/cms/api/am/binary/RW1ki3M
https://zenn.dev/headwaters/articles/8cb09b9b179001
https://zenn.dev/headwaters/articles/9e0a746350a609

意識すること

GitHub Copilotが読み込むファイルに着目


前提

  • 現在開いているファイル
  • 別タブにある最近開いた同じプログラミング言語のテキストに類似性が高いファイル

上記のファイルを開いている前提で以下のテクニックが使用できます。

  1. 現在のタスクに無関係なファイルは閉じる

  2. 便利なファイルを開いておく:タスクに必要な型定義ファイル(TypeScriptファイル「*.d.ts」など)を開いておくことで精度が上がる

  3. 参照したい別の拡張子のファイルは、現在のファイルにコメントとしてコピペする:コメントを用いて必要なコードや参照情報を明示的に指定することで、より適切な提案が得られる

コードの書き方とその影響

  • 命名規則:変数や関数の名前を具体的かつ意味のあるものにする
const num //みたいなのはダメ
  • スコープを小さくする:関数やクラスの責任を明確に分割し、小さなスコープでコードを構造化することで、GitHub Copilotの理解度を向上させる

  • 適切なコメント:その部分のコードが何をするのか、コードの意図や目的をコメントで記述する

リファクタリング前のテストコード

GitHub Copilotは完ぺきではなく、誤ったコードを提供する可能性があるので事前にテストコードを記述することでバグや不具合を未然に防ぐことができる

テクニック

コメントの活用

  • クイックチャット:コメント内で簡易的な質問や命令を書くことで、GitHub Copilotによる回答の精度を上げる

    赤枠の部分を事前に書いておくと、赤線の部分を入力する前にCopilotが提案してくれます。

インラインチャット+スラッシュコマンド

  • インラインチャットとスラッシュコマンドを組み合わせることでドキュメント生成やテストケースを効率的に生成できる

インラインチャット

ショートカット
ctrl + i
ctrl + ki
で開始します。

スラッシュコマンド+他

  • スラッシュコマンド:提案してほしいことを具体的に示す(例)/docドキュメントの作成 /tests テストケースの作成 等

  • コンテキスト変数:コンテキストの場所を指定する (例)#editor エディタ上 #selection カーソルで選択している場所

  • エージェント:コンテキストの場所を指定する (例)@workspace ワークスペース全体 @terminal ターミナル


    その他英語ではありますが、GitHubの公式ドキュメントで上記以外のスラッシュコマンド等が記載されています。
    https://github.blog/2024-03-25-how-to-use-github-copilot-in-your-ide-tips-tricks-and-best-practices/

まとめ

Microsoft AI Day OsakaではGitHub Copilotの活用についてのセッションがありました。
知らないことも多く、まだまだ活用しきれていないことが認識できたので非常に有意義なセッションでした。


その他、AI駆動アーキテクチャMVAについてのセッションもあったので記事にしています。
https://zenn.dev/headwaters/articles/1fe12f38e95056
https://zenn.dev/headwaters/articles/8ea3b4a8e8ea04

ヘッドウォータース

Discussion