GitHub Copilot のコード補完機能を調べる
GitHub Copilot では、コードを入力するときにオートコンプリート スタイルの提案が提供されます。 次のアクションを実行すると、オートコンプリート スタイルの候補が表示されます。
- エディターで部分的または完全なコード行を入力します。
- エディターで部分的または完全なコード コメントを入力します。
- エディターに空白のコード行を入力します。
オートコンプリート候補を生成する
GitHub Copilot は、作成しているコードに基づいてコード補完を提案することで、アプリ開発を加速します。
たとえば、2 つの整数の合計を返す addInt
という名前の C# メソッドを作成するとします。 メソッドシグネチャの入力を開始すると、GitHub Copilot は、作成すると思われるコードを提案します。
推奨されるオートコンプリートは、色付きの構文の強調表示なしで表示されます。 これは、オートコンプリートと既存のコードを区別するのに役立ちます。 Tab キーを押すと、推奨されるコードをそのまま使用できます。
Esc キーを押すと、提案を閉じます。
addInt
の例は少し単純なので、GitHub Copilot がもっと複雑なことを行う方法を疑問に思うかもしれません。
数値のリストを受け取り、リストに含まれる素数の合計を返すメソッドを作成するとします。 メソッドに addPrimeNumbersInNumericList
名前を付けることができ. メソッドシグネチャの入力を開始すると、GitHub Copilot によって提案が生成されます。 例えば次が挙げられます。
提案を受け入れる前に確認することが重要です。 このオートコンプリートは適切に見えるので、Tab キーを押して提案を受け入れることができました。
もう少し先にシナリオを続けてみましょう。
提案がコードにマージされると、isPrime
メソッドに赤い下線が引かれます。 これは、isPrime
メソッドがまだコードに存在しないためです。
GitHub Copilot は、複雑な問題をより小さく、より管理しやすい部分に分割するなどのベスト プラクティスに従ってトレーニングされています。 この場合、GitHub Copilot では、数値が素数であるかどうかを確認する別の isPrime
メソッドを作成することをお勧めします。
GitHub Copilot の準備ができたら、isPrime
メソッドのコード スニペットを提案します。
addPrimeNumbersInNumericList
メソッドの下に空白行を入力すると、GitHub Copilot は使用できる isPrime
メソッドを提案します。
オートコンプリートの提案は、コード スニペットを提供することで開発プロセスを加速します。 しかし、提案が必要なものでない場合はどうでしょうか? GitHub Copilot には、オートコンプリートの提案を管理するためのインターフェイスが用意されています。
オートコンプリート候補を管理する
GitHub Copilot がオートコンプリートを提案すると、提案を管理するためのインターフェイスも提供されます。 提案を受け入れるか、他の提案を確認するか、提案を無視することができます。
提案されたオートコンプリートの上にマウス ポインターを置くと、候補を管理するためのいくつかのオプションが表示されます。
提案を管理するための既定のインターフェイスには、次のオプションが含まれています。
- 承諾を選択して提案を完全に承諾します。 Tab キーを押して提案を受け入れることもできます。
- 提案を部分的に受け入れるには、[Wordを受け入れる]を選択します。
Ctrl
+>
キーを押して、提案を部分的に受け入れることもできます。 -
>
または<
を選択して、代替候補を表示します。Alt
+]
キーまたはAlt
+[
キーを押して、代替候補を表示することもできます。
[Word を受け入れる] オプションを選択すると、候補の次の単語が受け入れられます。 これは、提案の一部を受け入れてから、独自のコードを入力し続ける場合に便利です。 たとえば、isPrime
メソッドの候補の最初の単語を受け入れることもできます。
望むだけ提案を受け入れるまで、[Word を受け入れる] を選択し続けます。
[Word を受け入れる] ボタンの右側にある省略記号 (...) アイコンを選択すると、行の を受け入れる、ツール バー を常に表示する、および [完了パネルを開く] オプションが表示されます。
[行 を受け入れる] オプションを選択すると、提案の行全体が受け入れられます。 [ツール バー を常に表示] オプションを選択すると、ホット キーを使用してオートコンプリート候補を管理するときに、ツール バーが表示されたままになります。 [Open Completions Panel]\(完了パネルを開く\) オプションを選択すると、GitHub Copilot Completions タブが開きます。このユニットの最後では、GitHub の [Copilot Completions]\(完了\) タブを使用して複数の提案を表示する方法について説明します。
コメントからコード候補を生成する
GitHub Copilot は、コードに基づいてオートコンプリートを提案するだけでなく、コード コメントを使用してコード スニペットを提案することもできます。 自然言語のフレーズを使用して、作成するコードを記述します。 これにより、Copilot は特定の要件を満たすオートコンプリート候補を提案できます。 たとえば、計算で使用するアルゴリズムの種類や、クラスに追加するメソッドとプロパティを指定できます。
素数の例に戻りましょう。 この時点で、次のコードがあります。
addPrimeNumbersInNumericList
メソッドと isPrime
メソッドは完了しているように見えます。 ただし、addPrimeNumbersInNumericList
メソッドを呼び出すときに引数として使用できる数値のリストが必要です。 必要な数値の一覧を説明するコメントを記述できます。 たとえば、1 から 1000 の範囲の 100 個の乱数のリストです。
コメントの入力を開始すると、GitHub Copilot はコメントを完了するオートコンプリートを提案します。 GitHub Copilot は、周囲のコードを使用してその提案を改善します。 たとえば、コメント // create
の入力を開始すると、GitHub Copilot は周囲のコードを使用して、作成する内容を予測します。 この場合、GitHub Copilot は addPrimeNumbersInNumericList
メソッドを使用して、a list of numbers
を作成することを予測します。
コメントを書き続けるにつれて、GitHub Copilot はオートコンプリートの提案を更新します。 提案を受け入れる準備ができたら、承諾 を選択するか、タブキーを押します。
コメントの後に新しいコード行を作成すると、GitHub Copilot はコメントと既存のコードに基づいてコード スニペットの生成を開始します。
表示される各候補を受け入れます。
GitHub Copilot が完了していない場合は、受け入れる別の提案が生成されます。
コード スニペットの完了後に新しいコード行を入力すると、GitHub Copilot は、コード プロジェクトの要件に基づいて、別のオートコンプリート候補を生成します。 この場合、GitHub Copilot は、addPrimeNumbersInNumericList
メソッドを呼び出すコード行を提案し、numbers
という名前のリストを渡します。
GitHub の [Copilot Suggestions]\(提案\) タブを使用して複数の提案を表示する
最初のオートコンプリートの提案に満足できない場合は、GitHub Copilot でエディターで新しいタブを開き、さらに多くのオプションを表示できます。 より大きな候補の一覧を確認して、より適切な一致を見つけて選択できます。
この機能を示すために、素数の例の前の段階に戻りましょう。
仮に、まだ isPrime
メソッドを作成する必要があるとします。
addPrimeNumbersInNumericList
メソッドの下に空白行を入力すると、GitHub Copilot によって isPrime
メソッドが提案されます。 これは、前に使用したのと同じプロセスです。 ただし、GitHub Copilot が提供する提案に満足せず、その他のオプションを表示したいとします。
GitHub Copilot の [提案] タブを開き、その他の提案を表示するには、Ctrl
+ Enter
キーを押します。 [その他の操作] メニューを開き、[完了パネルを開く] 選択することもできます。
GitHub の [Copilot Suggestions]\(提案\) タブには、最大 10 個のその他の提案が表示されます。 提案を確認して、ニーズに最も適したものを見つけます。
提案を受け入れるには、提案の下にある Accept selection
ラベルを選択します。 たとえば、最初の候補の下にある Accept suggestion 1
ラベルを選択します。
すべての提案を却下するには、タブを閉じます。
概要
オートコンプリートの提案は、コードをより効率的かつ正確に記述するのに役立ちます。 GitHub Copilot では、コードを入力するときにオートコンプリートの候補が提供されます。 オートコンプリート候補を生成するには、部分的または完全なコード行、部分的または完全なコード コメント、または空白のコード行を入力します。 Tab キーを押して提案を受け入れるか、Esc キーを押して提案を閉じます。 提案にカーソルを合わせると表示されるツール バーを使用して、提案を管理できます。 ツール バーを使用すると、代替候補の確認、提案の受け入れ、提案の 1 つの単語の受け入れ、GitHub Copilot の [完了] タブを開いて、その他の提案を表示できます。