Introdução às próximas sugestões de edição do Copilot

O GitHub Copilot atua como um programador de pares alimentado por IA, oferecendo automaticamente sugestões embutidas para concluir seu código, comentários, testes e muito mais. O Copilot fornece dois tipos de sugestões embutidas, que levam seu código existente em conta: conclusões e sugestões de próxima edição.

As próximas sugestões de edição (NES) do Copilot usam suas edições recentes para prever a próxima edição que talvez você queira fazer e o local dessa edição.

As conclusões integradas são ótimas para preenchimento automático de uma seção de código. O NES ajuda você a permanecer no fluxo de edição lógica sugerindo alterações relevantes para seu trabalho atual. Você pode usar a tecla Tab para passar rapidamente e aceitar sugestões. As sugestões podem abranger um único símbolo, uma linha inteira ou várias linhas, dependendo do escopo da possível alteração.

Pré-requisitos

Habilitar o NES

Para começar com o Copilot NES, habilite o recurso em Ferramentas>Opções>Todas as Configurações>Editor de Texto>Sugestões Embutidas>Geral e selecione Sugestões da Próxima Edição do Copilot (previsões da próxima edição do Copilot) em Provedores de Sugestões.

Por padrão, o NES se concentra em edições próximas à sua localização atual. Para permitir sugestões de longa distância em qualquer lugar do arquivo atual, ative a opção de intervalo estendido para sugestões de próxima edição nesta página de configurações.

Para começar a usar o Copilot NES, habilite o recurso em Ferramentas>Opções>GitHub>Copilot e selecione Habilitar Sugestões para Próximas Edições em Conclusões do Copilot.

Começar a usar o NES

Para começar a receber sugestões do NES, inicie a codificação. Quando o recurso sugere uma edição de código, você pode movê-lo usando a tecla Tab e, em seguida, aceitá-la usando a tecla Tab novamente. Você economiza tempo saltando rapidamente para a próxima edição relevante, sem precisar pesquisar manualmente por arquivos ou referências por conta própria. Uma seta na margem indica se há uma sugestão de edição disponível.

Captura de tela que mostra setas na margem que indicam sugestões de edição.

Selecione a seta para explorar o menu de sugestões de edição, que inclui atalhos de teclado.

Captura de tela que mostra o menu para editar sugestões.

Se uma sugestão de edição estiver abaixo do modo de exibição atual do editor, a seta apontará para baixo em vez de para a direita. Role para além de uma sugestão de edição e a seta indica o local da próxima sugestão de edição apontando para cima ou para baixo, com base em onde você está no arquivo.

Com as configurações padrão, essas sugestões geralmente estão próximas de onde você está editando ativamente. Se você habilitar as sugestões de alcance estendido, o NES pode indicar edições relacionadas mais distantes no mesmo arquivo.

Captura de tela que mostra uma seta apontando para cima para indicar o local da próxima sugestão de edição em um arquivo.

Compreender casos de utilização

O NES é útil em vários cenários, sugerindo não apenas alterações repetitivas óbvias, mas também alterações lógicas. Aqui estão alguns exemplos.

Capturar e corrigir erros

O NES ajuda com erros como erros de digitação; por exemplo, se você escreveu bol em vez de bool.

Captura de tela que mostra o NES sugerindo uma correção de erro de digitação.

O recurso também pode ajudar com erros mais desafiadores na lógica, como uma expressão ternária invertida ou uma comparação que deve ser usada || em vez de &&.

Captura de tela que mostra o NES sugerindo uma correção para uma expressão.

Corresponder a uma mudança de intenção

O NES sugere alterações no restante do código que correspondem a uma alteração na intenção. O exemplo a seguir mostra sugestões após a refatoração de uma Point classe para Point3D.

Captura de tela animada que mostra sugestões do NES para alterações em atualizações de intenção.

Atualizar sintaxe de código

O NES ajuda com alterações repetitivas, como atualizar a sintaxe do código para C++ moderno usando a Biblioteca Padrão (STL). Por exemplo, ao atualizar todas as instâncias de printf() para std::cout, você também precisa atualizar a sintaxe, como fgets().

Captura de tela animada que mostra o NES sugerindo atualizações de sintaxe de código.

Refatorar

Se você renomear uma variável uma vez em um arquivo, o NES sugerirá atualizá-la em todo o arquivo. Se você introduzir um novo nome ou padrão de nomenclatura, o recurso sugerirá atualizações para que o código subsequente corresponda.

Captura de tela que mostra NES sugerindo edições quando uma variável é renomeada.

Depois de colar algum código, o NES sugere ajustes para combiná-lo com o estilo do código ao redor.

Ocultar NES

Você pode ocultar sugestões do NES no Visual Studio e revisá-las somente quando quiser.

  • Para desabilitar os completamentos automáticos, acesse Ferramentas>Opções>Todas as Configurações>Editor de Texto>Sugestões Embutidas>Geral e selecione Manual em Invocação. Você pode então disparar sugestões manualmente com Alt, ou Alt.

  • Para gerenciar quando as sugestões são exibidas, acesse Ferramentas>Opções>Todas as Configurações>Editor de Texto>Sugestões Embutidas>Geral e selecione Recolher as próximas sugestões de edição.

Para gerenciar quando as sugestões são exibidas, acesse Ferramentas>Opções>GitHub>Copilot>Completions e selecione Ocultar Próximas Sugestões de Edição.

Suas edições ainda acionam o NES, mas, quando uma sugestão está disponível, apenas o indicador de margem aparece na área de recuo. Esse indicador aponta para a linha relevante. A sugestão em si permanece oculta até você optar por exibi-la.

Captura de tela que mostra uma seta de barra lateral quando o NES está oculto.

Para exibir uma sugestão oculta, selecione o indicador de margem ou selecione a tecla Tab . Em seguida, a sugestão é exibida. Você pode selecionar a tecla Tab novamente para aceitar a sugestão ou selecionar a chave Esc para descartá-la. Depois de aceitar uma sugestão, todas as sugestões relacionadas serão exibidas automaticamente. Novas sugestões não relacionadas permanecem ocultas até você optar por exibi-las.

No exemplo a seguir, após uma alteração de Point para Point3D, uma sugestão NES torna-se disponível, mas não aparece imediatamente. O indicador de margem e a barra de dicas realçam uma sugestão na linha 4, que aparece após a seleção do indicador.

Captura de tela animada que mostra o funcionamento do modo de colapso do NES.