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

GitHub Copilot Tips and Tricks

GitHub Copilot Tips and Tricks

Avatar for Yuichi Tanaka

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 アクティブなターミナルの選択されている箇所