Upgrade to Pro — share decks privately, control downloads, hide ads and more …

GitHub Copilot Tips and Tricks

GitHub Copilot Tips and Tricks

Yuichi Tanaka

March 17, 2024
Tweet

More Decks by Yuichi Tanaka

Other Decks in Programming

Transcript

  1. GitHub Copilot C++/C#で自動的に追加される文脈 直接参照しているヘッダーファイルは、開いているかどうかに 関わらず文脈として自動追加 C++: Visual Studio Code: C/C++拡張

    1.21以降 + GitHub Copilot拡張1.205以降 Visual Studio: 2022 17.12以降 C#: Visual Studio: 17.11以降 https://devblogs.microsoft.com/cppblog/improving-github-copilot-completions-in-vs-code-for-c-developers/
  2. GitHub Copilot 良い提案を得るために • 複数の提案がある場合もあるので、それを確認 してみる。 ◦ コマンドパレットで “GitHub Copilot:

    Open Completions Panel” • コメントとして、欲しいコードについての 説明を自然言語で書く。 ◦ 必要に応じて例も書く ◦ 例)「引数Xに〇〇という入力を渡したら××と いう値を返す関数」 • 自分でコードを書き始めてみる。 ◦ 書き始めたコードもCopilotにとっての 文脈となる。
  3. GitHub Copilot 特定のファイルを対象外とする GitHubの管理画面(リポジトリ、OrganizationもしくはEnterprise)で 除外するファイルを指定することが可能。 除外対象となったファイルは - コード補完機能の利用ができなくなる - コード補完機能の文脈として使われなくなる

    GitHub上にリポジトリがあるかどうかに関わらず、除外の対象とする ことが可能 https://docs.github.com/en/copilot/managing-copilot/managing-github-copilot-in-your-organization/setting-policies-for-copilot-in-your-organization/excluding-content-from-github-copilot
  4. GitHub Copilot 何が文脈として使われるか? [前提] 基本的には開いているファイルが文脈の候補。    ただし例外もあり(後述)。 1. エディタ上でテキストを選択している場合   

    → 選択している箇所のテキストが使われる 2. 何も選択していない場合    → アクティブなエディタで表示されている範囲の   テキストが使われる 3. コンテキスト変数で指定する(後述)
  5. GitHub Copilot 主要なコンテキスト変数一覧 #selection アクティブなエディタで選択されている箇所 #file 特定のファイル(VS Codeのファイル選択UIが表示される) #editor アクティブなエディタで表示されている箇所

    #terminalLastCommand アクティブなターミナルの最後に実行したコマンドの結果 #terminalSelection アクティブなターミナルの選択されている箇所