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, você conseguirá ver referências ao código correspondente em GitHub.com.

Observação: o recurso de referenciar códigos com o GitHub Copilot atualmente está em versão beta pública, que é sujeita a alterações.

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

Você pode permitir que o GitHub Copilot sugira conclusões do código que correspondam a códigos disponíveis publicamente em GitHub.com. Para obter mais informações, confira "Como definir as configurações do GitHub Copilot no GitHub.com".

Se você tiver permitido sugestões que correspondam ao código público, o GitHub Copilot poderá fornecer detalhes sobre o código correspondente quando você aceitar essas sugestões. Esse recurso é chamado de referência de código. No momento, ele só está disponível em Visual Studio Code.

Quando você aceita uma sugestão de conclusão do código que corresponda a um código em um repositório público do GitHub, uma entrada será adicionada a um log do GitHub Copilot. A entrada de log inclui um link para uma página no GitHub.com, onde você pode exibir referências a códigos semelhantes em repositórios públicos do GitHub.

A página da Web do link inclui detalhes de qualquer licença identificada para o repositório onde o código correspondente foi encontrado. Depois de revisar as referências, você pode decidir como proceder. Por exemplo, você pode decidir qual atribuição usar ou se deseja remover esse código do seu projeto.

Observações:

  • No momento, a referência de código não se aplica às sugestões de conclusão do código adicionadas ao código usando o GitHub Copilot Chat.
  • Atualmente, a referência de código procura apenas correspondências de sugestões aceitas pelo Copilot. As correspondências com o código que você escreveu, ou as sugestões do Copilot que você alterou, não são verificadas quanto a correspondências com um 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 das sugestões aceitas.

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

A referência de código do Copilot procura correspondências tomando a sugestão de código, mais algum código circundante, e comparando isso com um índice de todos os repositórios públicos no 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.

Como usar a referência de código no Visual Studio Code

Para usar a referência de código, você deve ter permitido o uso de sugestões que correspondam a códigos públicos. Para ver mais informações, confira "Habilitar ou desabilitar a detecção de duplicação".

Você pode acessar as referências de código em um dos logs do GitHub Copilot no Visual Studio Code.

  1. No Visual Studio Code, abra a janela de Saída selecionando Exibir > saída na barra de menus.

  2. No menu suspenso à direita da janela de Saída, selecione o log do GitHub Copilot.

    Captura de tela da janela de Saída com o "log do GitHub Copilot" selecionado no menu suspenso.

  3. Deixe o log do GitHub Copilot em exibição enquanto você usa o GitHub Copilot no Visual Studio Code.

    Quando você aceita uma sugestão de conclusão do código que corresponda a um código em um repositório público do GitHub, uma entrada será adicionada ao log.

    A entrada de log inclui os seguintes detalhes:

    • A data e hora em que aceitou a sugestão.
    • O nome do arquivo no qual a sugestão foi adicionada.
    • Uma mensagem informando que um código semelhante foi encontrado, com o número e o tipo de licenças.
    • Um link para uma página no GitHub.com.
    • O local no arquivo onde a sugestão foi adicionada.
    • Um trecho da parte do código que foi sugerido e adicionado.

    Captura de tela da janela de Saída mostrando uma entrada de log de referência de código.

    Observação: O log do GitHub Copilot é liberado quando você fecha o editor.

  4. 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.

    A página lista as correspondências que foram encontradas, mostrando um trecho do arquivo relevante. Você pode clicar no nome do arquivo para visualizar o arquivo inteiro.

    Captura de tela das referências de código listadas no GitHub.com.

    As correspondências podem ser encontradas em vários repositórios com licenças diferentes, às vezes conflitantes. Você pode usar as caixas de seleção à esquerda da página para exibir apenas as correspondências associadas a uma licença específica.

    Você deve revisar todas as informações de licença em um repositório para verificar se elas se aplicam ao código correspondente, já que os repositórios podem conter várias licenças, que estão sujeitas a erros de natureza humana ou não.

    Observação: a página da Web que exibe o conjunto completo de detalhes permanecerá disponível por três meses.

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

Você pode verificar se a referência de código está funcionando solicitando que o Copilot adicione algum código comumente usado e verificando a saída no log do Copilot.

  1. Em Visual Studio Code, crie um arquivo chamado fizz-buzz.js.

  2. Abra a janela de Saída selecionando Exibir > saída, na barra de barra de menus.

  3. No menu suspenso à direita da janela de Saída, selecione o log do GitHub Copilot.

  4. No editor, digite:

    function fizzBuzz()
    

    GitHub Copilot deve sugerir um código para concluir a função.

  5. Aceite a sugestão pressionando a Tab.

    Se a referência de código encontrar uma correspondência com o código público, uma entrada de log será adicionada ao log do GitHub Copilot exibido.