Skip to main content

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

GitHub Copilot が公開されているコードと一致する候補を行うことを許可すると、GitHub.com の一致するコードへの参照を確認できます。

注: GitHub Copilot コード参照は、現在パブリック ベータ版であり、変更される可能性があります。

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

GitHub Copilot が GitHub.com で公開されているコードと一致するコード完成を提案することを許可することを選択できます。 詳しくは、「Managing Copilot policies as an individual subscriber」を参照してください。

パブリック コードに一致する候補を許可した場合、GitHub Copilot は、そのような候補を受け入れると、一致するコードに関する詳細を提供できます。 この機能は、コード参照と呼ばれます。 現在、Visual Studio Code でのみ利用できます。

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

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

注:

  • 現在、コード参照は、GitHub Copilot Chat を使用してコードに追加するコード完成の候補には適用されません。
  • 現在、コード参照では、受け入れられた Copilot 候補の一致のみが検索されます。 記述したコードへの一致、または変更した Copilot 候補は、パブリック コードへの一致に対してチェックされません。
  • 通常、パブリック コードへの一致は Copilot 候補の 1% 未満で発生するため、受け入れる候補の多くでコード参照が表示されるわけではありません。

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

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

Visual Studio Code

でのコード参照の使用

コード参照を使用するには、パブリック コードに一致する候補を許可する必要があります。 詳細については、「重複検出の有効化または無効化」を参照してください。

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 のページへのリンク。
    • 候補が追加されたファイル内の場所。
    • 提案および追加されたコードの一部のスニペット。

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

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

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

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

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

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

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

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

コード参照機能の確認

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

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

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

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

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

    function fizzBuzz()
    

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

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

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