1
0
mirror of synced 2025-12-19 18:10:59 -05:00
Files
docs/content/copilot/how-tos/get-code-suggestions/find-matching-code.md

11 KiB

title, shortTitle, intro, defaultTool, redirect_from, topics, versions, contentType
title shortTitle intro defaultTool redirect_from topics versions contentType
Finding public code that matches GitHub Copilot suggestions Find matching code Learn how to view code references when {% data variables.product.prodname_copilot %} makes suggestions that matches publicly available code. vscode
/early-access/copilot/code-referencing-in-github-copilot
/copilot/using-github-copilot/finding-public-code-that-matches-github-copilot-suggestions
/copilot/how-tos/completions/finding-public-code-that-matches-github-copilot-suggestions
/copilot/how-tos/completions/find-matching-code
Copilot
feature
copilot
how-tos

{% jetbrains %}

This version of this article is for {% data variables.product.prodname_copilot_short %} in JetBrains IDEs. For {% data variables.product.prodname_copilot_short %} on other platforms, click the appropriate tab above.

{% endjetbrains %}

{% vscode %}

This version of this article is for {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vscode %}. For {% data variables.product.prodname_copilot_short %} on other platforms, click the appropriate tab above.

{% endvscode %}

{% webui %}

This version of this article is for {% data variables.product.prodname_copilot_short %} on the {% data variables.product.github %} website. For {% data variables.product.prodname_copilot_short %} on other platforms, click the appropriate tab above.

{% endwebui %}

{% visualstudio %}

This version of this article is for {% data variables.product.prodname_copilot_short %} in {% data variables.product.prodname_vs %}. For {% data variables.product.prodname_copilot_short %} on other platforms, click the appropriate tab above.

{% endvisualstudio %}

Introduction

If you allow {% data variables.product.prodname_copilot %} to make suggestions that match publicly available code, {% data variables.product.prodname_copilot_short %} will display references to any similar code that is found. See AUTOTITLE.

Prerequisites

References to matching code are only generated if {% data variables.product.prodname_copilot_short %} is configured to allow suggestions that match publicly available code. This is configured in either your personal{% ifversion ghec %},{% else %} or {% endif %} organization{% ifversion ghec %} or enterprise{% endif %} settings.

For more information, see AUTOTITLE{% ifversion ghec %},{% else %} or {% endif %} AUTOTITLE{% ifversion ghec %} or AUTOTITLE{% endif %}.

{% jetbrains %}

View code references for code completion

You can view code references in the log file for your JetBrains IDE.

  1. In your JetBrains IDE, select Help > Show Log in Finder/Explorer.

    The log file is displayed in your file manager. For example, for IntelliJ IDEA the log file is called idea.log.

  2. Open the log file in your JetBrains IDE.

  3. Search for "[Public Code References]."

Example log entry

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

The log entry includes the following details:

  • The date and time you accepted the suggestion.
  • A "Public Code References" message telling you that similar code was found.
  • The path to the file in which the suggestion was added.
  • The line and column number where the suggestion was added.
  • A list of matches, including:
    • The license type for the matching code—or NOASSERTION if no license was found.
    • The URL of the file on {% data variables.product.prodname_dotcom_the_website %} where the matching code was found.

Verifying the code referencing functionality

{% data reusables.copilot.code-referencing-verifying %}

{% endjetbrains %}

{% vscode %}

View code references for code completion

You can find code references in one of the {% data variables.product.prodname_copilot %} logs in {% data variables.product.prodname_vscode %}.

  1. In {% data variables.product.prodname_vscode %}, open the Output window by selecting View > Output from the menu bar.

  2. In the dropdown menu at the right of the Output window, select {% data variables.product.prodname_copilot %} Log (Code References).

  3. Leave the {% data variables.product.prodname_copilot %} Log (Code References) view displayed while you use {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_vscode %}.

    When you accept a code completion suggestion that matches code in a public {% data variables.product.prodname_dotcom %} repository, an entry is added to the log.

    The log entry includes the following details:

    • The date and time you accepted the suggestion.
    • The name of the file in which the suggestion was added.
    • "Similar code at" followed by the location in the file where the suggestion was added.
    • An extract of the code that was added by code completion.
    • The license type for the matching code, if found, otherwise unknown.
    • The URL of the file on {% data variables.product.prodname_dotcom_the_website %} where the similar code was found.

Example log entry

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

Verifying the code referencing functionality

{% data reusables.copilot.code-referencing-verifying %}

{% endvscode %}

{% visualstudio %}

View code references for code completion

You can find code references in the {% data variables.product.prodname_copilot %} log in {% data variables.product.prodname_vs %}.

  1. In the menu bar, click View.

  2. In the dropdown menu, click Output.

  3. In Output view, click the box to the right of "Show output from" and select {% data variables.product.prodname_copilot %}.

  4. Leave the log displayed while you use {% data variables.product.prodname_copilot %} in {% data variables.product.prodname_vscode %}.

    When you accept a code completion suggestion that matches code in a public {% data variables.product.prodname_dotcom %} repository, an entry is added to the log.

    The log entry includes the following details:

    • The time you accepted the suggestion. Click the "Show Timestamp" clock icon if the time is not displayed.
    • The description [Completions Public Code Match Information].
    • The license type for the matching code, if found, otherwise NOASSERTION.
    • The URL of the file on {% data variables.product.prodname_dotcom_the_website %} where the similar code was found.

Example log entry

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

Verifying the code referencing functionality

{% data reusables.copilot.code-referencing-verifying %}

{% endvisualstudio %}

View code references for {% data variables.copilot.copilot_chat_short %}

{% jetbrains %}

{% data reusables.copilot.viewing-code-references-in-chat %}

{% endjetbrains %}

{% vscode %}

{% data reusables.copilot.viewing-code-references-in-chat %}

{% endvscode %}

{% visualstudio %}

If a response in {% data variables.copilot.copilot_chat_short %} includes matching code, this is below the suggested code by the following text:

Found similar code in public repos. View matches

Click View matches to open the {% data variables.product.prodname_copilot %} log, if it is not already open, and add details of the matched code.

The details include:

  • The time you added the details to the log. Click the "Show Timestamp" clock icon if the time is not displayed.
  • The description [Code Match] as the first log entry before the list of matching code.
  • The license type—if found—for each instance of similar code.
  • The URL of the file on {% data variables.product.prodname_dotcom_the_website %} where the matching code was found.
  • A code snippet showing the matching code.

Logging example

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	```

{% endvisualstudio %}

{% webui %}

When {% data variables.copilot.copilot_chat_short %} provides a response that includes code that matches code in a public {% data variables.product.prodname_dotcom %} repository, this is indicated beneath the code suggestion:

< > Public code references from n repositories

To see details of the matching code:

  1. Click the "Public code references..." text, under the code suggestion.

    A list of {% data variables.product.github %} repositories containing matching code is displayed in a dropdown, together with licensing information, if found.

    Screenshot of a code completion suggestion in {% data variables.copilot.copilot_chat_short %} with a link to view code references.

  2. Click the name of a repository to display that repository on {% data variables.product.prodname_dotcom_the_website %}.

{% endwebui %}

Further reading