Skip to main content

Como procurar um código público que corresponde às sugestões do GitHub Copilot

Se você permitir que o GitHub Copilot faça sugestões que correspondam ao código disponível publicamente, o Copilot exibirá referências a qualquer código correspondente encontrado.

Esta versão do artigo se destina ao Copilot nos IDEs do JetBrains. No caso do Copilot em outras plataformas, selecione a guia apropriada acima.

Limitações

No momento, as referências ao código correspondente só estão disponíveis nos IDEs do JetBrains, no Visual Studio Code e no site do GitHub.

Pré-requisitos

As referências ao código correspondente só serão geradas se Copilot estiver configurado para permitir sugestões que correspondam ao código disponível publicamente. Isso é definido em suas configurações pessoais ou da organização. Para saber mais, confira Como gerenciar políticas do Copilot como um assinante individual ou Gerenciar políticas do Copilot na sua organização.

Sobre a referência de código no GitHub Copilot

Se você tiver permitido sugestões que correspondam a um código público, o GitHub Copilot poderá fornecer detalhes do código correspondente a uma sugestão. Isso acontece:

  • Quando você aceita uma sugestão de conclusão do código no editor.
  • Quando uma resposta no Copilot Chat inclui código correspondente.

Esse recurso é chamado de referência de código.

Referência de código para conclusão do código do Copilot

Quando você aceita uma sugestão de preenchimento de código que corresponda a um código em um repositório público do GitHub, uma entrada é adicionada ao log do JetBrains. A entrada de log inclui as URLs de arquivos que contêm o código correspondente e o nome da licença que se aplica a esse código, caso algum tenha sido encontrado. Com isso, você pode analisar essas referências e decidir como proceder. Por exemplo, você pode decidir qual atribuição usar ou se deseja remover esse código do seu projeto.

Note

  • A referência de código para o preenchimento de código ocorre apenas para as correspondências de sugestões do Copilot aceitas. O código que você escreveu e as sugestões do Copilot que você alterou não são verificados quanto a correspondências com código público.
  • Normalmente, as correspondências com um código público ocorrem em menos de um por cento das sugestões do Copilot e, portanto, você não deve esperar ver referências de código para muitas sugestões.

Referência de código para Copilot Chat

Quando o Copilot Chat fornece uma resposta que inclui um código que corresponde a um código de um repositório público do GitHub, isso é indicado no final da resposta com um link para exibir detalhes do código correspondente no editor.

Como a referência de código encontra o código correspondente

A referência de código do Copilot procura correspondências usando a sugestão de código, além de uma parte do código em torno da sugestão se ela for aceita, e compara isso com um índice de todos os repositórios públicos do GitHub.com. Códigos em repositórios privados do GitHub ou fora do GitHub não são incluídos no processo de pesquisa. O índice de pesquisa é atualizado no intervalo de poucos meses. Por isso, códigos recém-confirmados e códigos de repositórios públicos excluídos antes da criação do índice talvez não sejam incluídos na pesquisa. Pelo mesmo motivo, a pesquisa talvez retorne correspondências a um código que foi excluído ou movido desde a criação do índice.

Exibir referências de código para conclusão do código

Você pode ver referências de código no arquivo de log para o IDE do JetBrains.

  1. No IDE do JetBrains, selecione Help > Show Log in Finder/Explorer.

    O arquivo de log é exibido no gerenciador de arquivos. Por exemplo, para o IntelliJ IDEA, o arquivo de log é chamado idea.log.

  2. Abra o arquivo de log no IDE do JetBrains.

  3. Pesquise “[Referências de código público]”.

Exemplo de entrada de log

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

A entrada de log inclui os seguintes detalhes:

  • A data e hora em que aceitou a sugestão.
  • Uma mensagem “Referências de código público”, informando que o código correspondente foi encontrado.
  • O caminho para o arquivo no qual a sugestão foi adicionada.
  • A linha e o número da coluna em que a sugestão foi adicionada.
  • Uma lista de correspondências, incluindo:
    • O tipo de licença para o código correspondente ou NOASSERTION, caso nenhuma licença tenha sido encontrada.
    • A URL do arquivo em GitHub.com em que o código correspondente foi encontrado.

Como verificar se a referência de código funciona

Você pode verificar se a referência de código funciona solicitando que o Copilot adicione um código comumente usado e verificando a saída no arquivo de log do IDE.

  1. Veja o arquivo de log do IDE do JetBrains, conforme descrito na seção anterior.

  2. Crie um arquivo chamado fizz-buzz.js e abra-o no editor do JetBrains.

  3. No editor, digite:

    function fizzBuzz()
    

    Com um espaço após o parêntese de fechamento.

    GitHub Copilot deve sugerir um código para concluir a função. Normalmente, a sugestão será uma implementação comum do algoritmo fizz buzz que corresponderá ao código disponível publicamente no site do GitHub.

  4. Aceite a sugestão pressionando a Tab.

  5. Verifique se uma entrada “[Referências de código público]” foi adicionada ao arquivo de log.

Exibir referências de código para Copilot Chat

Se uma resposta em Copilot Chat incluir código correspondente, isso será indicado no final da resposta pelo seguinte texto:

Código semelhante encontrado com n tipos de licença – Exibir correspondências

  1. Clique em Exibir correspondências para exibir detalhes do código correspondente em uma nova guia do editor.

    Para cada exemplo de código correspondente, o editor exibe:

    • O tipo de licença para o código correspondente, se conhecido.
    • A URL do arquivo em GitHub.com em que o código correspondente foi encontrado.
    • Um snippet de código mostrando o código correspondente.
  2. Na entrada de log, use Ctrl + Clique (Windows/Linux) ou Command + Clique (Mac) no link para exibir as referências de código no GitHub.com.