Skip to main content

Suchen von öffentlichem Code, der mit GitHub Copilot-Vorschlägen übereinstimmt

Wenn du zulässt, dass GitHub Copilot Vorschläge machen darf, die mit öffentlich verfügbarem Code übereinstimmen, werden in Copilot Verweise auf alle gefundenen ähnlichen Codeteile angezeigt.

Diese Version des Artikels bezieht sich auf Copilot in JetBrains-IDEs. Klicke für Copilot auf anderen Plattformen auf die entsprechende Registerkarte oben.

Diese Version dieses Artikels bezieht sich auf Copilot in Visual Studio Code. Klicke für Copilot auf anderen Plattformen auf die entsprechende Registerkarte oben.

Diese Version dieses Artikels bezieht sich auf Copilot auf der GitHub-Website. Klicke für Copilot auf anderen Plattformen auf die entsprechende Registerkarte oben.

Diese Version des Artikels bezieht sich auf Copilot in Visual Studio. Klicke für Copilot auf anderen Plattformen auf die entsprechende Registerkarte oben.

Einschränkungen

Verweise auf übereinstimmenden Code sind derzeit in JetBrains-IDEs, Visual Studio, Visual Studio Code und auf der GitHub-Website verfügbar.

Voraussetzungen

Verweise auf übereinstimmenden Code werden nur generiert, wenn Copilot so konfiguriert sind, dass Vorschläge zugelassen werden, die öffentlich verfügbaren Codes entsprechen. Dies wird entweder in deinen persönlichen Einstellungen Organisationseinstellungen oder Unternehmenseinstellungen konfiguriert. Weitere Informationen findest du unter Verwalten von Copilot-Richtlinien als Einzelabonnent*in Verwalten von Richtlinien für Copilot in Ihrer Organisation oder Verwalten von Richtlinien und Features für Copilot in Ihrem Unternehmen.

Informationen zu Codereferenz in GitHub Copilot

Wenn du Vorschläge zugelassen hast, die mit öffentlichem Code übereinstimmen, kann GitHub Copilot dir Details zu dem Code zur Verfügung stellen, dem ein Vorschlag entspricht. Dies geschieht:

  • Wenn Sie einen Code Complete-Vorschlag im Editor akzeptieren.
  • Wenn eine Antwort in Copilot Chat einen übereinstimmenden Code enthält.

Wenn du Vorschläge zugelassen hast, die mit öffentlichem Code übereinstimmen, kann GitHub Copilot dir Details zu dem Code zur Verfügung stellen, dem ein Vorschlag entspricht. Dies geschieht:

  • Wenn Sie einen Code Complete-Vorschlag im Editor akzeptieren.
  • Wenn eine Antwort in Copilot Chat einen übereinstimmenden Code enthält.

Wenn du Vorschläge zugelassen hast, die mit öffentlichem Code übereinstimmen, und eine Antwort von Copilot Chat übereinstimmenden Code enthält, sind in der Antwort Details zu den Übereinstimmungen enthalten.

Wenn du Vorschläge zugelassen hast, die mit öffentlichem Code übereinstimmen, kann GitHub Copilot dir Details zu dem Code zur Verfügung stellen, dem ein Vorschlag entspricht. Dies geschieht:

  • Wenn Sie einen Code Complete-Vorschlag im Editor akzeptieren.
  • Wenn eine Antwort in Copilot Chat einen übereinstimmenden Code enthält.

Dieses Feature wird als Codereferenz bezeichnet.

Code-Referenzierung für Copilot Code-Vervollständigung

Hinweis

  • Die Codereferenzierung für Codevervollständigung erfolgt nur bei Übereinstimmungen mit akzeptierten Copilot-Vorschlägen. Der von Ihnen geschriebene Code und die von Ihnen geänderten Vorschläge Copilot werden nicht auf Übereinstimmungen mit öffentlichen Codes überprüft.
  • Üblicherweise enthalten weniger als ein Prozent der Vorschläge Copilot Übereinstimmungen mit öffentlichen Codes. Daher sollten Sie nicht erwarten, dass bei vielen Vorschlägen Code-Verweise angezeigt werden.

Codereferenzierung für Copilot Chat

Wenn Copilot Chat eine Antwort bereitstellt, die Code enthält, der dem Code in einem öffentlichen GitHub-Repository entspricht, wird das am Ende der Antwort mit einem Link angezeigt, über den im Editor Details zum übereinstimmenden Code angezeigt werden können.

Hinweis

Da Übereinstimmungen mit öffentlichem Code eher selten vorkommen, solltest du nicht erwarten, dass in vielen Copilot Chat-Antworten Codeverweise angezeigt werden.

Code-Referenzierung für Copilot Code-Vervollständigung

Hinweis

  • Die Codereferenzierung für Codevervollständigung erfolgt nur bei Übereinstimmungen mit akzeptierten Copilot-Vorschlägen. Der von Ihnen geschriebene Code und die von Ihnen geänderten Vorschläge Copilot werden nicht auf Übereinstimmungen mit öffentlichen Codes überprüft.
  • Üblicherweise enthalten weniger als ein Prozent der Vorschläge Copilot Übereinstimmungen mit öffentlichen Codes. Daher sollten Sie nicht erwarten, dass bei vielen Vorschlägen Code-Verweise angezeigt werden.

Codereferenzierung für Copilot Chat

Wenn Copilot Chat eine Antwort bereitstellt, die Code enthält, der dem Code in einem öffentlichen GitHub-Repository entspricht, wird das am Ende der Antwort mit einem Link angezeigt, über den im Editor Details zum übereinstimmenden Code angezeigt werden können.

Code-Referenzierung für Copilot Code-Vervollständigung

Hinweis

  • Die Codereferenzierung für Codevervollständigung erfolgt nur bei Übereinstimmungen mit akzeptierten Copilot-Vorschlägen. Der von Ihnen geschriebene Code und die von Ihnen geänderten Vorschläge Copilot werden nicht auf Übereinstimmungen mit öffentlichen Codes überprüft.
  • Üblicherweise enthalten weniger als ein Prozent der Vorschläge Copilot Übereinstimmungen mit öffentlichen Codes. Daher sollten Sie nicht erwarten, dass bei vielen Vorschlägen Code-Verweise angezeigt werden.

Codereferenzierung für Copilot Chat

Wenn Copilot Chat eine Antwort bereitstellt, die Code enthält, der dem Code in einem öffentlichen GitHub-Repository entspricht, wird das unterhalb des vorgeschlagenen Codes mit einem Link angezeigt, über den im Ausgabeprotokoll Details zum übereinstimmenden Code angezeigt werden können.

So findet die Codereferenzierung übereinstimmenden Code

Die Copilot-Codereferenzierung sucht nach Übereinstimmungen, indem der Codevorschlag sowie ein Teil des Codes, der den Vorschlag umgibt, wenn er akzeptiert wird, mit einem Index von sämtlichen öffentlichen Repositorys auf GitHub.com verglichen wird. Code in privaten GitHub-Repositorys oder Code außerhalb von GitHub ist nicht im Suchvorgang enthalten. Der Suchindex wird alle paar Monate aktualisiert. Daher wird neu bereitgestellter Code und Code aus öffentlichen Repositorys, der vor der Erstellung des Indexes gelöscht wurde, möglicherweise nicht in die Suche einbezogen. Aus demselben Grund gibt die Suche möglicherweise Übereinstimmungen mit Code zurück, der gelöscht oder verschoben wurde, seit der Index erstellt wurde.

Anzeigen von Code-Verweisen für die Code-Vervollständigung

Du kannst in der Protokolldatei für deine JetBrains-IDE Codeverweise anzeigen.

  1. Wähle in deiner JetBrains-IDE Help > Show Log in Finder/Explorer aus.

    Die Protokolldatei wird im Datei-Manager angezeigt. Beispiel: Für IntelliJ IDEA lautet der Name der Protokolldatei idea.log.

  2. Öffne die Protokolldatei in deiner JetBrains-IDE.

  3. Suche nach [Public Code References].

Beispielprotokolleintrag

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

Der Protokolleintrag enthält die folgenden Details:

  • Das Datum und die Uhrzeit, als Sie den Vorschlag angenommen haben.
  • Die Meldung „Public Code References“ informiert dich darüber, dass ähnlicher Code gefunden wurde.
  • Pfad zur Datei, in der der Vorschlag hinzugefügt wurde
  • Zeilen- und Spaltennummer, in denen der Vorschlag hinzugefügt wurde
  • Liste der Übereinstimmungen, darunter Folgendes:
    • Lizenztyp für den übereinstimmenden Code – oder NOASSERTION, wenn keine Lizenz gefunden wurde
    • Die URL der Datei für GitHub.com an der Stelle, an der der übereinstimmende Code gefunden wurde.

Überprüfen des Codes, der auf die Funktionalität verweist

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.

Anzeigen von Code-Verweisen für die Code-Vervollständigung

Codeverweise findest du in einem der GitHub Copilot-Protokolle in Visual Studio Code.

  1. Öffnen Sie in Visual Studio Code das Ausgabefenster, indem Sie in der Menüleiste Ansicht > Ausgabe auswählen.

  2. Wähle im Dropdownmenü rechts im Fenster Output den Eintrag GitHub Copilot Log (Code References) aus.

  3. Bleibe in der Ansicht GitHub Copilot Log (Code References), während du GitHub Copilot in Visual Studio Code verwendest.

    Wenn Sie einen Codeabschlussvorschlag akzeptieren, der mit Code in einem öffentlichen GitHub-Repository übereinstimmt, wird ein Eintrag zum Protokoll hinzugefügt.

    Der Protokolleintrag enthält die folgenden Details:

    • Das Datum und die Uhrzeit, als Sie den Vorschlag angenommen haben.
    • Der Name der Datei, in der der Vorschlag hinzugefügt wurde.
    • „Similar code at“ und danach die Stelle in der Datei, an der der Vorschlag hinzugefügt wurde.
    • Ein Auszug aus dem Code, der durch die Codevervollständigung hinzugefügt wurde.
    • Der Lizenztyp für den übereinstimmenden Code, falls vorhanden, ansonsten unknown.
    • Die URL der Datei für GitHub.com an der Stelle, an der der ähnliche Code gefunden wurde.

Beispielprotokolleintrag

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

Überprüfen des Codes, der auf die Funktionalität verweist

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.

Anzeigen von Code-Verweisen für die Code-Vervollständigung

Codeverweise findest du im GitHub Copilot-Protokoll in Visual Studio.

  1. Klicke in der Menüleiste auf View.

  2. Klicke im Dropdownmenü auf Output.

  3. Klicke in der Ansicht „Output“ auf das Feld rechts neben „Show output from“, und wähle GitHub Copilot aus.

  4. Lasse das Protokoll angezeigt, während du GitHub Copilot in Visual Studio Code verwendest.

    Wenn Sie einen Codeabschlussvorschlag akzeptieren, der mit Code in einem öffentlichen GitHub-Repository übereinstimmt, wird ein Eintrag zum Protokoll hinzugefügt.

    Der Protokolleintrag enthält die folgenden Details:

    • Das Uhrzeit, zu der den Vorschlag angenommen hast. Klicke auf das Uhrsymbol „Show Timestamp“, falls die Uhrzeit nicht angezeigt wird.
    • Die [Completions Public Code Match Information]-Beschreibung.
    • Der Lizenztyp für den übereinstimmenden Code, falls vorhanden, ansonsten NOASSERTION.
    • Die URL der Datei für GitHub.com an der Stelle, an der der ähnliche Code gefunden wurde.

Beispielprotokolleintrag

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

Überprüfen des Codes, der auf die Funktionalität verweist

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.

Anzeigen von Codeverweisen für Copilot Chat

Wenn eine Antwort in Copilot Chat einen passenden Code enthält, wird das am Ende der Antwort durch den folgenden Text angezeigt:

Ähnlicher Code, der mit n Lizenztypen gefunden wurde – Übereinstimmungen anzeigen

  1. Klicken Sie auf Übereinstimmungen anzeigen, um Details des übereinstimmenden Codes auf einer neuen Editor-Registerkarte anzuzeigen.

    Für jedes Beispiel eines übereinstimmenden Codes zeigt der Editor Folgendes an:

    • Der Lizenztyp für den übereinstimmenden Code, falls bekannt.
    • Die URL der Datei für GitHub.com an der Stelle, an der der übereinstimmende Code gefunden wurde.
    • Ein Code-Schnipsel mit dem übereinstimmenden Code.
  2. Klicken Sie im Editor bei gedrückter Strg-Taste (Windows/Linux) bzw. Befehlstaste (Mac) auf eine URL, um die vollständige Datei auf GitHub.com anzuzeigen.

Wenn eine Antwort in Copilot Chat einen passenden Code enthält, wird das am Ende der Antwort durch den folgenden Text angezeigt:

Ähnlicher Code, der mit n Lizenztypen gefunden wurde – Übereinstimmungen anzeigen

  1. Klicken Sie auf Übereinstimmungen anzeigen, um Details des übereinstimmenden Codes auf einer neuen Editor-Registerkarte anzuzeigen.

    Für jedes Beispiel eines übereinstimmenden Codes zeigt der Editor Folgendes an:

    • Der Lizenztyp für den übereinstimmenden Code, falls bekannt.
    • Die URL der Datei für GitHub.com an der Stelle, an der der übereinstimmende Code gefunden wurde.
    • Ein Code-Schnipsel mit dem übereinstimmenden Code.
  2. Klicken Sie im Editor bei gedrückter Strg-Taste (Windows/Linux) bzw. Befehlstaste (Mac) auf eine URL, um die vollständige Datei auf GitHub.com anzuzeigen.

Wenn eine Antwort in Copilot Chat übereinstimmenden Code enthält, steht dieser unterhalb des vorgeschlagenen Codes im folgenden Text:

Found similar code in public repos. View matches

Klicke auf View matches, um das GitHub Copilot-Protokoll zu öffnen, sofern es nicht bereits geöffnet ist, und füge die Details des übereinstimmenden Codes hinzu.

Die Details umfassen Folgendes:

  • Die Uhrzeit, zu der du dem Protokoll die Details hinzugefügt hast. Klicke auf das Uhrsymbol „Show Timestamp“, falls die Uhrzeit nicht angezeigt wird.
  • Die Beschreibung [Code Match] als ersten Protokolleintrag vor der Liste des übereinstimmenden Codes.
  • Der Lizenztyp (sofern vorhanden) für die einzelnen Instanzen ähnlichen Codes.
  • Die URL der Datei für GitHub.com an der Stelle, an der der übereinstimmende Code gefunden wurde.
  • Ein Code-Schnipsel mit dem übereinstimmenden Code.

Beispiel für die Protokollierung

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

Wenn Copilot Chat eine Antwort zurückgibt, die Code enthält, der mit Code in einem öffentlichen GitHub-Repository übereinstimmt, wird dies unter dem Codevorschlag angezeigt:

< > Public code references from n repositories

So zeigst du Details zum übereinstimmenden Code an:

  1. Klicke auf den Text „Public code references...“ unter dem Codevorschlag.

    Daraufhin wird eine Liste mit GitHub-Repositorys mit übereinstimmendem Code und ggf. mit Lizenzierungsinformationen in einer Dropdownliste angezeigt.

    Screenshot von einem Codevervollständigungsvorschlag in Copilot Chat mit einem Link zum Anzeigen von Codeverweisen.

  2. Klicke auf den Namen eines Repositorys, um dieses Repository auf GitHub.com anzuzeigen.