Skip to main content

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

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

この記事のこのバージョンは、Copilot in JetBrains IDE 向けです。 他のプラットフォーム上の Copilot については、上の適切なタブをクリックしてください。

この記事のこのバージョンは、Visual Studio Code の Copilot に関するものです。 他のプラットフォーム上の Copilot については、上の適切なタブをクリックしてください。

この記事のこのバージョンは、GitHub の Web サイト上の Copilot に関するものです。 他のプラットフォーム上の Copilot については、上の適切なタブをクリックしてください。

この記事のこのバージョンは、Copilot in Visual Studio 向けです。 他のプラットフォーム上の Copilot については、上の適切なタブをクリックしてください。

はじめに

GitHub Copilot に公開されているコードと一致する候補を許可すると、Copilot は見つかった似たコードへの参照を表示します。 「Copilot のコード参照」を参照してください。

前提条件

一致するコードへの参照は、Copilot が一般公開されているコードに一致する候補を許可するように構成されている場合にのみ生成されます。 これは、個人または organization の設定で構成されます。

詳細については、「個人のサブスクライバーとしての Copilot ポリシーの管理」または 「組織での 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。

コード参照機能の確認

You can verify that code referencing is working by prompting Copilot to add some commonly used code and checking the output in the log.

  1. Create a file called fizz-buzz.js and open it in the editor.

  2. Display the log as described in the previous section.

  3. In the editor, type:

    function fizzBuzz()
    

    With a space after the closing parenthesis.

    GitHub Copilot should suggest code to complete the function. Typically the suggestion will be a common implementation of the fizz buzz algorithm that will match publicly available code on the GitHub website.

  4. To accept the suggestion, press Tab.

  5. Check whether any entries for similar code have been added to the log.

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

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

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

  2. [Output] ウィンドウの右側にあるドロップダウン メニューで、[GitHub Copilot Log (Code References)] を選びます。

  3. GitHub Copilot in Visual Studio Code の使用時には、[GitHub Copilot Log (Code References)] ビューを表示したままにしておきます。

    パブリック 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

コード参照機能の確認

You can verify that code referencing is working by prompting Copilot to add some commonly used code and checking the output in the log.

  1. Create a file called fizz-buzz.js and open it in the editor.

  2. Display the log as described in the previous section.

  3. In the editor, type:

    function fizzBuzz()
    

    With a space after the closing parenthesis.

    GitHub Copilot should suggest code to complete the function. Typically the suggestion will be a common implementation of the fizz buzz algorithm that will match publicly available code on the GitHub website.

  4. To accept the suggestion, press Tab.

  5. Check whether any entries for similar code have been added to the log.

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

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

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

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

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

  4. GitHub Copilot in Visual Studio Code の使用時には、ログを表示したままにしておきます。

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

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

    • 提案を受け入れた時刻。 時刻が表示されない場合は、[Show Timestamp] 時計アイコンをクリックします。
    • [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

コード参照機能の確認

You can verify that code referencing is working by prompting Copilot to add some commonly used code and checking the output in the log.

  1. Create a file called fizz-buzz.js and open it in the editor.

  2. Display the log as described in the previous section.

  3. In the editor, type:

    function fizzBuzz()
    

    With a space after the closing parenthesis.

    GitHub Copilot should suggest code to complete the function. Typically the suggestion will be a common implementation of the fizz buzz algorithm that will match publicly available code on the GitHub website.

  4. To accept the suggestion, press Tab.

  5. Check whether any entries for similar code have been added to the log.

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 の応答に一致するコードが含まれている場合、提案されたコードの下に次のテキストが示されます。

パブリック リポジトリに似たコードが見つかりました。 View matches

まだ開いていない場合は、[View matches] をクリックして 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 が、パブリック GitHub リポジトリ内のコードと一致するコードを含む応答を提供する場合、これはコード候補の下で示されます。

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

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

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

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

    コード参照を表示するためのリンクを含む Copilot Chat のコード補完候補のスクリーンショット。

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

参考資料