Gerar código usando sugestões de conclusão de código no GitHub Copilot
O GitHub Copilot pode fornecer sugestões de conclusão de código para inúmeras linguagens de programação e uma grande variedade de frameworks, mas funciona especialmente bem para Python, JavaScript, TypeScript, Ruby, Go, C# e C++. As completações de linha de código são geradas com base no contexto do código que você está escrevendo. Pode aceitar, rejeitar ou aceitar parcialmente as sugestões fornecidas pelo GitHub Copilot.
O GitHub Copilot oferece duas formas de gerar completações de linhas de código:
De um comentário: Você pode gerar completações de linha de código escrevendo um comentário que descreva o código que deseja gerar. O GitHub Copilot fornece sugestões de conclusão de código com base no comentário que escreves.
Do código: Você pode gerar completações de linha de código iniciando uma linha de código ou pressionando Enter após uma linha de código concluída. O GitHub Copilot fornece sugestões de conclusão de código baseadas no código que escreves.
Use o GitHub Copilot para gerar completões de linhas de código a partir de um comentário
O GitHub Copilot gera sugestões de conclusão de código com base no comentário e no contexto existente da tua aplicação.
Você pode usar comentários para descrever trechos de código, métodos, estruturas de dados e outros elementos de código.
Suponha que você tenha o seguinte trecho de código:
namespace ReportGenerator;
class QuarterlyIncomeReport
{
static void Main(string[] args)
{
// create a new instance of the class
QuarterlyIncomeReport report = new QuarterlyIncomeReport();
// call the GenerateSalesData method
// call the QuarterlySalesReport method
}
public void QuarterlySalesReport()
{
Console.WriteLine("Quarterly Sales Report");
}
}
Por exemplo, o seguinte comentário pode ser usado para criar uma estrutura de dados:
/* public struct SalesData. Include the following fields: date sold, department name, product ID, quantity sold, unit price */
O GitHub Copilot gera uma ou mais sugestões de conclusão de código com base no teu comentário de código e nos ficheiros de código abertos no editor.
Observe os tipos de dados usados para declarar os campos da estrutura de dados. O GitHub Copilot seleciona tipos de dados e nomes de variáveis com base no teu código existente e no comentário do código. O GitHub Copilot tenta determinar como a aplicação utiliza variáveis e define os tipos de dados em conformidade.
Quando GitHub Copilot gerar mais do que uma sugestão, pode alternar entre as sugestões selecionando as setas para a esquerda ou para a direita (> ou <) localizadas à esquerda do botão Aceitar. Isto permite-lhe rever e selecionar a sugestão que melhor se adapta às suas necessidades.
Não há problema em aceitar uma sugestão de preenchimento automático de código que não corresponda exatamente ao que pretendes. No entanto, as alterações necessárias para "corrigir" a sugestão devem ser claras. Nesse caso, alguns dos tipos de dados não são o que você deseja, mas você pode ajustá-los depois de aceitar o preenchimento automático sugerido.
Se nenhuma das opções sugeridas se assemelhar ao que você precisa, há duas coisas que você pode tentar. Para abrir uma nova guia do editor contendo uma lista de outras sugestões, pressione as teclas Ctrl + Enter . Esta combinação de teclas de atalho abre um novo separador contendo até mais 10 sugestões. Cada sugestão é seguida por um botão que você pode usar para aceitar a sugestão. O separador fecha automaticamente depois de aceitar uma sugestão. Sua outra opção é pressionar a tecla Esc para rejeitar as sugestões e tentar novamente. Podes ajustar o comentário do código para fornecer mais contexto para o GitHub Copilot funcionar melhor.
Observação
O GitHub Copilot pode, ocasionalmente, propor uma sugestão em etapas. Se isso acontecer, você pode pressionar Enter para ver etapas adicionais da sugestão depois de pressionar a tecla Tab.
Para aceitar uma estrutura de dados sugerida, pressione a tecla Tab ou selecione Aceitar.
Para modificar os tipos de dados de campo, atualize o código da seguinte maneira:
public struct SalesData
{
public DateOnly dateSold;
public string departmentName;
public int productID;
public int quantitySold;
public double unitPrice;
}
Fazer ajustes rápidos nas sugestões de conclusão de código ajuda a garantir que está a criar o código desejado. É especialmente importante fazer correções no início do seu processo de desenvolvimento, quando grandes partes da sua base de código ainda precisam ser desenvolvidas. As compleções de código subsequentes são baseadas no código que você já escreveu, por isso é importante garantir que seu código seja o mais preciso possível.
Use sugestões de próxima edição para acompanhar as alterações no código
As completações de texto fantasma são ótimas para preencher novo código à medida que o escreves. Mas a maior parte da programação do dia a dia envolve editar código existente — renomear uma variável, atualizar um tipo de dado ou corrigir um erro lógico. As próximas sugestões de edição (NES) do GitHub Copilot são desenhadas exatamente para este cenário.
Quando fazes uma edição, a NES analisa a alteração e prevê tanto onde a tua próxima edição precisa de acontecer como qual deve ser essa edição — mesmo que seja numa linha diferente ou numa parte diferente do ficheiro. Isto mantém-te no fluxo sem teres de procurar manualmente todos os locais que precisam de atualizações.
Para ativar as sugestões de próxima edição, defina a definição github.copilot.nextEditSuggestions.enabled para true no Visual Studio Code.
Uma vez ativado, pode usar a NES das seguintes formas:
Faça uma edição no editor — por exemplo, renomeie uma variável ou altere uma assinatura de método.
Procure a seta da sarjeta que aparece à esquerda do editor. A seta aponta para a localização da próxima edição sugerida.
Pressione Tab para navegar até ao local de edição sugerido.
Prima Tab novamente para aceitar a sugestão, ou carrega em Escape para a rejeitar.
Aqui estão alguns cenários comuns onde o NES é especialmente útil:
- Renomeação de propagação: Renomeie uma variável uma vez e o NES sugere atualizar todas as outras referências a ela no ficheiro.
- Alterações de tipo: Alterar o tipo de dados de um campo e o NES sugere atualizar o código posterior que o utiliza.
- Correções lógicas: Corrige uma condição invertida ou um erro tipográfico numa palavra-chave e o NES sinaliza a secção de código relacionada que requer atualizações.
- Refatoração: Depois de copiar e colar um bloco de código, a NES sugere como adaptá-lo para corresponder ao estilo de código envolvente.
Observação
As próximas sugestões de edição preveem a mudança mais provável com base nas tuas edições atuais. Reveja sempre cada sugestão antes de a aceitar, pois a solução certa para o seu cenário específico pode variar.
Resumo
A completação de linhas de código é uma funcionalidade poderosa do GitHub Copilot que pode ajudar a gerar código de forma rápida e eficiente. Usando comentários para descrever o código que você deseja gerar, você pode criar estruturas de dados, métodos e outros elementos de código com o mínimo de esforço. Além disso, o GitHub Copilot pode gerar conclusãos de linhas de código com base no código que inserir, permitindo-lhe construir aplicações complexas com facilidade.