Examinar os recursos de conclusão de código do GitHub Copilot

Concluído

GitHub Copilot fornece sugestões de estilo de preenchimento automático à medida que você insere o código. Além das sugestões de preenchimento automático padrão, GitHub Copilot também fornece sugestões de próxima edição (NES), que prevêem o local da próxima edição que você provavelmente fará e sugerem uma conclusão para ela.

Você recebe sugestões de estilo de preenchimento automático ao executar as seguintes ações:

  • Insira uma linha de código parcial ou completa no editor.
  • Insira um comentário de código parcial ou completo no editor.
  • Insira uma linha de código em branco no editor.

As próximas sugestões de edição aparecem automaticamente quando você edita o código. Eles prevêem que alteração você provavelmente fará em seguida com base em suas edições recentes e são exibidas com um indicador especial mostrando o local de edição sugerido.

Gerar uma sugestão de preenchimento automático

GitHub Copilot acelera o desenvolvimento de aplicativos sugerindo conclusões de código com base no código que você está escrevendo.

Por exemplo, suponha que você queira criar um método C# chamado addInt que retorna a soma de dois inteiros. Se você começar a digitar a assinatura do método, GitHub Copilot sugerirá o código que ele acredita que você deseja criar.

Captura de tela mostrando o preenchimento automático para adicionar dois números.

O preenchimento automático sugerido é exibido sem realce de sintaxe colorida. Isso ajuda a diferenciar o preenchimento automático do seu código existente. Você pode aceitar o código sugerido pressionando a tecla Tab.

Captura de tela mostrando a sugestão de preenchimento automático aceito.

Você pode pressionar a tecla Esc para ignorar uma sugestão.

O exemplo de addInt é um pouco simplista, portanto, você pode estar se perguntando como GitHub Copilot faz com algo mais complexo.

Suponha que você queira criar um método que aceite uma lista de números e retorne a soma dos números principais contidos na lista. Você pode nomear o método addPrimeNumbersInNumericList. Quando você começa a digitar a assinatura do método, GitHub Copilot gera uma sugestão para você. Por exemplo:

Captura de tela mostrando a preenchimento automático de um método que adiciona os números primos em uma lista.

É importante revisar as sugestões antes de aceitá-las. Este preenchimento automático parece bom, para que você possa aceitar a sugestão pressionando a tecla Tab.

Vamos continuar o cenário um pouco mais.

Depois que a sugestão for mesclada em seu código, você observará que o isPrime método é sublinhado em vermelho. Isso ocorre porque o isPrime método ainda não existe no código.

Captura de tela mostrando o método addPrimeNumbersInNumericList mesclado no código com isPrime sublinhado em vermelho.

GitHub Copilot é treinado para seguir as práticas recomendadas, que incluem dividir problemas complexos em partes menores e mais gerenciáveis. Nesse caso, GitHub Copilot está sugerindo que você crie um método isPrime separado para verificar se um número é primo.

GitHub Copilot está pronto para sugerir um snippet de código para o método isPrime. Quando você insere uma linha em branco abaixo do método addPrimeNumbersInNumericList, GitHub Copilot sugere um método isPrime que você pode usar.

Captura de tela mostrando o preenchimento automático para adicionar o método isPrime.

Sugestões de preenchimento automático aceleram o processo de desenvolvimento ao fornecer snippets de código. Mas e se as sugestões não forem exatamente o que você precisa? GitHub Copilot fornece uma interface para gerenciar sugestões de preenchimento automático.

Gerenciar sugestões de preenchimento automático

Quando o GitHub Copilot sugere um preenchimento automático, ele também fornece uma interface para gerenciar as sugestões. Você pode aceitar uma sugestão, examinar outras sugestões ou ignorar as sugestões.

Quando você passa o ponteiro do mouse sobre uma autocompilação sugerida, você recebe várias opções para gerenciar as sugestões.

Captura de tela mostrando a opção

A interface padrão para gerenciar sugestões inclui as seguintes opções:

  • Aceite a sugestão (na íntegra) selecionando Aceitar. Você também pode aceitar a sugestão pressionando a tecla Tab.
  • Aceite parcialmente a sugestão selecionando Accept Word. Você também pode aceitar parcialmente uma sugestão pressionando as teclas Ctrl + (seta para a direita).
  • Exibir sugestões alternativas selecionando > ou <. Você também pode exibir as sugestões alternativas pressionando as teclas Alt + ] ou Alt + [.

Selecionar a opção Accept Word aceita a próxima palavra em uma sugestão. Isso é útil quando você deseja aceitar parte da sugestão e continuar digitando seu próprio código. Por exemplo, você pode aceitar a primeira palavra da sugestão de método isPrime.

Screenshot mostrando a opção

Continue selecionando Accept Word até que você aceite a maior parte da sugestão desejada.

Selecionar o ícone de reticências (...) à direita do botão Aceitar Palavra fornece opções adicionais, como Sempre Mostrar Barra de Ferramentas e Abrir Painel de Completações.

Captura de tela mostrando as opções de barra de ferramentas adicionais para sugestões de preenchimento automático.

Selecionar a opção Barra de Ferramentas Always Show garante que a barra de ferramentas permaneça visível ao usar atalhos de teclado para gerenciar sugestões de preenchimento automático. Selecionar a opção Open Completions Panel abre o Painel de Conclusões GitHub Copilot. A exibição de várias sugestões usando o Painel de Conclusões do GitHub Copilot é abordada no final desta unidade.

Observação

Para aceitar uma linha inteira de uma sugestão, você precisa configurar um atalho de teclado personalizado para o editor.action.inlineSuggest.acceptNextLine comando. Essa opção não está disponível por padrão na barra de ferramentas.

Gerar sugestões de código com base em comentários

Além de sugerir um preenchimento automático com base no código, o GitHub Copilot pode usar comentários de código para sugerir trechos de código. Use frases de linguagem natural para descrever o código que você deseja criar. Isso permite que GitHub Copilot proponha sugestões de preenchimento automático que atendam a requisitos específicos. Por exemplo, você pode especificar o tipo de algoritmo que deseja usar em um cálculo ou quais métodos e propriedades você deseja adicionar a uma classe.

Vamos retornar ao exemplo de número principal. Neste ponto, você tem o seguinte código:

Captura de tela mostrando o código atual para o exemplo de número principal.

O addPrimeNumbersInNumericList e o isPrime métodos parecem estar completos. No entanto, você ainda precisa de uma lista de números que podem ser usados como um argumento quando você chama o addPrimeNumbersInNumericList método. Você pode escrever um comentário que descreve a lista de números desejados. Por exemplo, uma lista de 100 números aleatórios que variam de 1 e 1000.

Quando você começa a digitar o comentário, o GitHub Copilot sugere um preenchimento automático para concluir o comentário para você. GitHub Copilot usa o código ao redor para melhorar suas sugestões. Por exemplo, se você começar a inserir o comentário // create, GitHub Copilot usará o código ao redor para prever o que deseja criar. Nesse caso, GitHub Copilot usa o método addPrimeNumbersInNumericList para prever que você deseja criar a list of numbers.

Captura de tela mostrando a palavra

À medida que você continua a escrever seu comentário, GitHub Copilot atualiza sua sugestão de preenchimento automático. Quando estiver pronto para aceitar a sugestão, selecione Aceitar ou pressione a tecla Tab.

Captura de tela mostrando as palavras

Quando você cria uma nova linha de código após o comentário, GitHub Copilot começa a gerar um snippet de código com base no comentário e no código existente.

Screenshot mostrando o GitHub Copilot adicionando a primeira linha de código.

Aceite cada uma das sugestões conforme elas aparecem.

Screenshot mostrando GitHub Copilot continuando a adicionar linhas de código.

Se GitHub Copilot não for concluído, ele gerará outra sugestão para você aceitar.

Screenshot mostrando GitHub Copilot completando a lista de números.

Se você inserir uma nova linha de código após a conclusão do trecho de código, o GitHub Copilot gerará novas sugestões de preenchimento automático com base nos requisitos do seu projeto de código. Nesse caso, GitHub Copilot sugere uma linha de código que chama o método addPrimeNumbersInNumericList, passando a lista chamada numbers.

Captura de tela mostrando o GitHub Copilot sugerindo uma chamada de método.

Exibir várias sugestões usando o Painel de Conclusões do GitHub Copilot

Se você não estiver satisfeito com as sugestões iniciais de preenchimento automático, GitHub Copilot poderá abrir uma nova guia no editor com mais opções. Você pode examinar a lista maior de sugestões para encontrar uma correspondência melhor e selecioná-la.

Para demonstrar esse recurso, vamos voltar para um estágio anterior no exemplo de números principais.

Suponha que você ainda precise criar o isPrime método. Quando você insere uma linha em branco abaixo do método addPrimeNumbersInNumericList, GitHub Copilot sugere um método isPrime para você. Esse é o mesmo processo que você usou anteriormente. No entanto, vamos supor que você não esteja satisfeito com as sugestões que GitHub Copilot oferece e gostaria de ver mais opções.

Para abrir o Painel de Conclusões do GitHub Copilot e exibir outras sugestões, pressione as teclas Ctrl + Enter. Você também pode abrir o menu Mais Ações e selecionar Abrir Painel de Conclusões.

Captura de tela mostrando a aba das Sugestões do GitHub Copilot.

O Painel de Conclusões do GitHub Copilot exibe até 10 outras sugestões. Examine as sugestões para encontrar aquela que melhor atenda às suas necessidades.

Para aceitar uma sugestão, selecione o rótulo Aceitar número de sugestão abaixo da sugestão. Por exemplo, selecione o rótulo Aceitar sugestão 1 abaixo da primeira sugestão.

Para rejeitar todas as sugestões, feche a guia.

Resumo

Sugestões de preenchimento automático e sugestões de próxima edição ajudam você a escrever código com mais eficiência e precisão. GitHub Copilot fornece sugestões de preenchimento automático à medida que você insere código e, em seguida, edita sugestões que preveem sua próxima edição provável. Você pode gerar uma sugestão de preenchimento automático inserindo uma linha de código parcial ou completa, um comentário de código parcial ou completo ou uma linha de código em branco. Você pode aceitar uma sugestão pressionando a tecla Tab ou descartando as sugestões pressionando a chave Esc. Você pode gerenciar sugestões usando a barra de ferramentas que aparece quando você passa o mouse sobre uma sugestão. A barra de ferramentas permite que você examine sugestões alternativas, aceite uma sugestão, aceite uma palavra de sugestão ou abra o Painel de Conclusões do GitHub Copilot para exibir mais sugestões.