Skip to main content

GitHub Copilot の候補に一致するパブリック コードの検索

GitHub Copilot が公開されているコードと一致する候補を行うことを許可すると、GitHub.com で見つかった一致するコードへの参照が表示されます。

制限事項

一致するコードへの参照は現在、Visual Studio Code でのみ使用できます。

前提条件

一致するコードへの参照は、Copilot が一般公開されているコードに一致する候補を許可するように構成されている場合にのみ生成されます。 詳しくは、「個人のサブスクライバーとしての Copilot ポリシーの管理」を参照してください。

GitHub Copilot でのコード参照について

パブリック コードに一致する候補を許可した場合、VS Code の GitHub Copilot は、候補が一致するコードの詳細を提供できます。 これは次の場合に発生します。

  • エディターでコード補完候補を受け入れる場合。
  • Copilot Chat の応答に一致するコードが含まれている場合。

この機能は、コード参照と呼ばれます。

Copilot コード補完のコード参照

パブリック GitHub リポジトリのコードと一致するコード完成の候補を受け入れると、エントリが GitHub Copilot ログに追加されます。 ログ エントリには、GitHub.com のページへのリンクが含まれており、パブリック GitHub リポジトリで同様のコードへの参照を表示できます。

リンクされた Web ページには、一致するコードが見つかったリポジトリで識別されたライセンスの詳細が含まれています。 参照を確認したら、続行する方法を決定できます。 たとえば、使用する属性や、プロジェクトからこのコードを削除するかどうかを決定できます。

Note

  • コード参照は、受け入れられた Copilot 候補に一致した場合にのみ発生します。 記述したコード、および変更した Copilot 候補は、パブリック コードへの一致に対してチェックされません。
  • 通常、パブリック コードへの一致は Copilot 候補の 1% 未満で発生するため、多くの候補でコード参照が表示されるわけではありません。

Copilot Chat のコード参照

Copilot Chat が、パブリック GitHub リポジトリ内のコードと一致するコードを含む応答を提供する場合、これは応答の最後に、VS Code エディターで一致したコードの詳細を表示するためのリンクで示されます。

コード参照で一致するコードを検索する方法

Copilot コード参照は、コードの候補に加えて、いくつかの周囲のコードを取得し、それを GitHub.com 上のすべてのパブリック リポジトリのインデックスと比較することで、一致を検索します。 プライベート GitHub リポジトリ内のコード、または GitHub 以外のコードは、検索プロセスには含まれません。 検索インデックスは数か月ごとに更新されます。 その結果、新しくコミットされたコードと、インデックスが作成される前に削除されたパブリック リポジトリのコードは、検索に含まれない場合があります。 同じ理由から、インデックスの作成後に削除または移動されたコードへの一致を検索が返す場合があります。

コード補完のコード参照を表示する

Visual Studio Code のいずれかの GitHub Copilot ログからコード参照にアクセスできます。

  1. Visual Studio Code で、メニュー バーから [表示] > [出力] を選択して [出力] ウィンドウを開きます。

  2. [出力] ウィンドウの右側のドロップダウン メニューで、GitHub Copilot ログを選択します。

    ドロップダウン メニューから "GitHub Copilot ログ" が選択されている [出力] ウィンドウのスクリーンショット。

  3. GitHub Copilot ログ ビューは、Visual Studio Code で GitHub Copilot を使用しているときに表示したままにしておきます。

    パブリック GitHub リポジトリ内のコードと一致するコード完成の候補を受け入れると、エントリがログに追加されます。

    ログ エントリには次の詳細が含まれます。

    • 候補を受け入れた日付と時刻。
    • 候補が追加されたファイルの名前。
    • ライセンスの数と種類を含む同様のコードが見つかったことを示すメッセージ。
    • GitHub.com のページへのリンク。
    • 候補が追加されたファイル内の場所。
    • 提案および追加されたコードの一部のスニペット。

    ログ エントリを参照するコードを示す [出力] ウィンドウのスクリーンショット。

    Note

    エディターを閉じると、GitHub Copilot ログがフラッシュされます。

  4. ログ エントリで、 リンクを Ctrl+クリック (Windows/Linux) または Command+クリック (Mac) して、GitHub.com のコード参照を表示します。

    このページには、見つかった一致が一覧表示され、関連するファイルからの抜粋が表示されます。 ファイル名をクリックすると、ファイル全体を表示できます。

    GitHub.com に一覧表示されているコード参照のスクリーンショット。

    一致は、異なる、場合によっては競合するライセンスを持つ複数のリポジトリで見つかる場合があります。 ページの左側にある チェック ボックスを使用して、特定のライセンスに関連付けられている一致のみを表示できます。

    リポジトリに複数のライセンスが含まれている可能性があり、これらのライセンスは人為的および非人為的なエラーの影響を受ける可能性があるため、リポジトリ内のすべてのライセンス情報を確認して、一致するコードにそれらが適用されることを確認する必要があります。

    Note

    詳細の完全なセットを表示する Web ページは 3 か月間利用可能になります。

コード参照機能の確認

コード参照が機能していることを確認するには、Copilot に一般的に使用されるコードを追加するよう求め、Copilot ログの出力をチェックします。

  1. Visual Studio Code で、fizz-buzz.js という名前のファイルを作成します。

  2. メニュー バーから [表示] > [出力] を選択して、[出力] ウィンドウを開きます。

  3. [出力] ウィンドウの右側のドロップダウン メニューで、GitHub Copilot ログを選択します。

  4. エディターで、次のように入力します。

    function fizzBuzz()
    

    GitHub Copilot は、関数を完了するためのコードを提案する必要があります。

  5. Tab を押して候補を受け入れます。

    コード参照でパブリック コードへの一致が見つかると、ログ エントリが GitHub Copilot ログ ビューに追加されます。

Copilot Chat のコード参照を表示する

Copilot Chat の応答に一致するコードが含まれている場合、これは応答の最後に次のテキストで示されます。

n ライセンスの種類で見つかった類似コード - 一致を表示する

  1. [一致を表示する] をクリックして、一致したコードの詳細を新しいエディター タブに表示します。

    一致するコードの例ごとに、エディターに次の情報が表示されます。

    • 一致するコードのライセンスの種類 (既知の場合)。
    • 一致するコードが見つかった GitHub.com 上のファイルの URL。
    • 一致するコードを示すコード スニペット。
  2. エディターで、URL を Ctrl+クリック (Windows/Linux) または Command+クリック (Mac) して、GitHub.com のファイル全体を表示します。