Skip to main content

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

          GitHub Copilotが公開されているコードと一致する候補を作成するときにコード参照を表示する方法について説明します。

この記事のこのバージョンは、JetBrains IDE の Copilot を対象にしています。 他のプラットフォームで Copilot する場合は、上の適切なタブをクリックします。

この記事のこのバージョンは、CopilotのVisual Studio Codeを対象にしています。 他のプラットフォームで Copilot する場合は、上の適切なタブをクリックします。

この記事のこのバージョンは、Copilot Web サイトのGitHubを対象にしています。 他のプラットフォームで Copilot する場合は、上の適切なタブをクリックします。

この記事のこのバージョンは、CopilotのVisual Studioを対象にしています。 他のプラットフォームで Copilot する場合は、上の適切なタブをクリックします。

概要

          GitHub Copilotが公開されているコードに一致する提案を行ったり、"ブロック" モードをサポートしていない製品を使用したりすると、Copilotに見つかった同様のコードへの参照が表示されます。 「[AUTOTITLE](/copilot/concepts/completions/code-referencing)」を参照してください。

前提条件

一致するコードへの参照は、"ブロック" モードをサポートしていない製品を使用している場合、または一般公開されているコードに一致する候補を許可するように Copilot が構成されている場合にのみ生成されます。 これは、個人、 、または 組織 の設定で構成されます。

詳細については、「 個々のサブスクライバーとしてのGitHub Copilot ポリシーの管理 、または 組織内のGitHub Copilotのポリシーと機能の管理 を参照してください。

インライン候補のコード参照を表示する

JetBrains IDE のログ ファイルでコード参照を表示できます。

  1. JetBrains IDE で、[Help] > [Show Log in Finder/Explorer] を選びます。

    ログ ファイルはファイル マネージャーに表示されます。 たとえば、IntelliJ IDEA、ログ ファイルは idea.log という名前です。

  2. JetBrains IDE でログ ファイルを開きます。

  3. 「[Public Code References]」を検索します。

ログ エントリの例

2025-02-26 09:22:12,045 [5581906] INFO - #copilot - [Public Code References] Text found matching public code in file:///Users/mona-lisa/git-repos/test-repo/fizzbuzz.js [Ln 1, Col 10] near fizzBuzz() ...:
  1) [NOASSERTION] https://github.com/nixsticks/todos/blob/ae427a721c7784da64a619ba17f60637fe1cc819/Loops/fizzbuzz/fizzbuzz.js
  2) [GPL-3.0] https://github.com/voloslg/algocasts/blob/34b423517486f908ca167b390d3b8bd05653829f/exercises/fizzbuzz/index.js

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

  • 候補を受け入れた日付と時刻。
  • 似たコードが見つかったことを通知する "Public Code References" メッセージ。
  • 提案が追加されたファイルへのパス。
  • 提案が追加された行と列の番号。
  • 以下のような一致の一覧:
    • 一致するコードのライセンスの種類。ライセンスが見つからなかった場合は NOASSERTION
    • 一致するコードが見つかった GitHub.com 上のファイルの URL。

コード参照機能の確認

一般的に使われるコードを追加するよう Copilot に指示し、ログで出力を調べると、コード参照が機能していることを確認できます。

  1. fizz-buzz.js という名前のファイルを作成し、エディターでそれを開きます。

  2. 前のセクションで説明されているように、ログを表示します。

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

    function fizzBuzz()
    

    閉じかっこの後にはスペースを付けます。

    GitHub Copilot は、関数を完了するためのコードを提案する必要があります。 通常、提案は fizz buzz アルゴリズムの一般的な実装です。これは、GitHub Web サイトで公開されているコードと一致します。

  4. 候補を受け入れるには、Tab キーを押します。

  5. 似たコードのエントリがログに追加されているかどうかを調べます。

インライン候補のコード参照を表示する

コード参照は、GitHub CopilotのいずれかのVisual Studio Code ログで確認できます。

  1.        Visual Studio Codeで、メニュー バーから **[表示****** > ] を選択して**出力**ウィンドウを開きます。
    
  2.        **[出力**] ウィンドウの右側にあるドロップダウン メニューで、[**GitHub Copilot ログ (コード参照)** を選択します。
    
  3.        GitHub Copilotで**** を使用している間、GitHub CopilotVisual Studio Code ビューは表示したままにします。
    

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

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

    • 候補を受け入れた日付と時刻。
    • 候補が追加されたファイルの名前。
    • "Similar code at" の後に、提案が追加されたファイル内の場所が続きます。
    • インライン提案によって追加されたコードの抽出。
    • 一致するコードのライセンスの種類 (見つかった場合)。それ以外の場合は unknown
    • 同様のコードが見つかった GitHub.com 上のファイルの URL。

ログ エントリの例

2025-03-27 12:17:54.759 [info] file:///Users/monalisa/fizzbuzz.js Similar code at  [Ln 2, Col 8] let i = 1; i <= 100; i++) {  let output = '';  if (i % 3 === 0) {  output += 'Fizz';...
2025-03-27 12:17:54.759 [info] License: unknown, URL: https://github.com/octo-org/octo-repo/blob/8563f3b1d4f33952b22212b86e745539d1567ed1/examples/fizzBuzz.js
2025-03-27 12:17:54.759 [info] License: MIT, URL: https://github.com/octo-org/monalisa/blob/7e974691f4c8e6bc55f9b50688f05d746d1bc52b/exercises/2/fizz-buzz.js

コード参照機能の確認

一般的に使われるコードを追加するよう Copilot に指示し、ログで出力を調べると、コード参照が機能していることを確認できます。

  1. fizz-buzz.js という名前のファイルを作成し、エディターでそれを開きます。

  2. 前のセクションで説明されているように、ログを表示します。

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

    function fizzBuzz()
    

    閉じかっこの後にはスペースを付けます。

    GitHub Copilot は、関数を完了するためのコードを提案する必要があります。 通常、提案は fizz buzz アルゴリズムの一般的な実装です。これは、GitHub Web サイトで公開されているコードと一致します。

  4. 候補を受け入れるには、Tab キーを押します。

  5. 似たコードのエントリがログに追加されているかどうかを調べます。

インライン候補のコード参照を表示する

コード参照は、GitHub CopilotのVisual Studio ログにあります。

  1. メニュー バーの [表示] をクリックします。

  2. ドロップダウン メニューの [出力] をクリックします。

  3. 出力ビューで、[出力の表示] の右側にあるボックスをクリックし、 GitHub Copilot を選択します。

  4.        GitHub CopilotでVisual Studio Codeを使用している間は、ログを表示したままにしておきます。
    

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

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

    • 提案を受け入れた時刻。 時刻が表示されない場合は、[Show Timestamp] 時計アイコンをクリックします。
    • 説明 HTML[Completions Public Code Match Information]
    • 一致するコードのライセンスの種類 (見つかった場合)。それ以外の場合は NOASSERTION
    • 同様のコードが見つかった GitHub.com 上のファイルの URL。

ログ エントリの例

09:39:16:203    [Completions Public Code Match Information] Similar code with license type [MIT] https://github.com/octo-org/octo-repo/blob/34deb75eb6a2e22483ed465a6aec38c02eb2536e/routines/quicksort.js

コード参照機能の確認

一般的に使われるコードを追加するよう Copilot に指示し、ログで出力を調べると、コード参照が機能していることを確認できます。

  1. fizz-buzz.js という名前のファイルを作成し、エディターでそれを開きます。

  2. 前のセクションで説明されているように、ログを表示します。

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

    function fizzBuzz()
    

    閉じかっこの後にはスペースを付けます。

    GitHub Copilot は、関数を完了するためのコードを提案する必要があります。 通常、提案は fizz buzz アルゴリズムの一般的な実装です。これは、GitHub Web サイトで公開されているコードと一致します。

  4. 候補を受け入れるには、Tab キーを押します。

  5. 似たコードのエントリがログに追加されているかどうかを調べます。

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

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

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

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

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

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

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

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

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

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

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

          Copilot Chatの応答に一致するコードが含まれている場合は、次のテキストによって推奨されるコードの下に表示されます。

パブリック reposで同様のコードが見つかりました。 一致を表示する

[ 一致の表示 ] をクリックして、 GitHub Copilot ログがまだ開いていない場合は開き、一致したコードの詳細を追加します。

詳細には次のものが含まれます。

  • ログに詳細を追加した時刻。 時刻が表示されない場合は、[Show Timestamp] 時計アイコンをクリックします。
  • 一致するコードの一覧の前に、最初のログ エントリとして説明 [Code Match]
  • 似たコードの各インスタンスのライセンスの種類 (見つかった場合)。
  • 一致するコードが見つかった GitHub.com 上のファイルの URL。
  • 一致するコードを示すコード スニペット。

ログの例

09:24:10:525    [Code Match] Similar code with 2 license type(s) [MIT, NOASSERTION]
09:24:10:525    ## License: MIT
09:24:10:525    https://github.com/octo-org/octo-repo/tree/127aac4ab27a42706af01be80f7aae3b83f44fbc/buzzfizz.py
09:24:10:525    ```
09:24:10:525    for i in range(1, n + 1):
09:24:10:525            if i % 3 == 0 and i % 5 == 0:
09:24:10:525                print('FizzBuzz')
09:24:10:525            elif i % 3 == 0:
09:24:10:525                print('Fizz')
09:24:10:525            elif i % 5 == 0:
09:24:10:525    ```
09:24:10:525    ## License: NOASSERTION
09:24:10:525    https://github.com/octo-org/monalisa/tree/011308746e53b26b128fa53c044a2527c39231f0/fizz-buzz.py
09:24:10:525    ```
09:24:10:525    i % 3 == 0 and i % 5 == 0:
09:24:10:525                print('FizzBuzz')
09:24:10:525            elif i % 3 == 0:
09:24:10:525                print('Fizz')
09:24:10:525            elif i % 5 == 0:
09:24:10:525                print('Buzz')
09:24:10:525            else:
09:24:10:525                print(i)
09:24:10:525    ```

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

パブリック Copilot Chat リポジトリ内のコードと一致するコードを含む応答を GitHub が提供する場合、これはコード提案の下に示されます。

< >n 個のリポジトリからのパブリック コード参照

一致するコードの詳細を表示するには:

  1. コード候補の下にある [Public code references...] というテキストをクリックします。

    一致するコードを含む GitHub リポジトリの一覧がドロップダウンに表示され、ライセンス情報が見つかった場合は、ライセンス情報と共に表示されます。

    Copilot Chat のインライン検索候補のスクリーンショット。コード参照を表示するためのリンクが表示されています。

  2. リポジトリの名前をクリックすると、そのリポジトリが GitHub.comに表示されます。

のコード参照を表示する Copilotクラウドエージェント

          Copilotがパブリック GitHub リポジトリ内のコードと一致するコードを含む応答を提供する場合、これはエージェント セッション ログに、一致したコードの詳細を表示するためのリンクと共に示されます。 詳しくは、「[AUTOTITLE](/copilot/how-tos/use-copilot-agents/cloud-agent/track-copilot-sessions)」をご覧ください。

参考資料

  •         [AUTOTITLE](/copilot/concepts/completions/code-referencing)