Examinar os recursos de desenvolvimento de código do GitHub Copilot

Concluído

Visual Studio Code implementa GitHub Copilot usando duas extensões, GitHub Copilot e chat GitHub Copilot. Essas extensões aumentam a produtividade do desenvolvedor gerando sugestões que ampliam ou melhoram seus aplicativos. Cada extensão fornece um conjunto de recursos que ajudam você a desenvolver código com mais eficiência:

  • A extensão GitHub Copilot gera sugestões de conclusão de código usando o código inserido no editor ou seus comentários de código.
  • A extensão GitHub Copilot Chat gera sugestões de código com base em interações de chat ou ações inteligentes que atuam no código selecionado.

Observação

Neste módulo, você usará as extensões GitHub Copilot para desenvolver novos recursos de código e aplicativos. Há dois módulos separados que abrangem o uso de GitHub Copilot para criar testes de unidade e fazer melhorias no código existente.

Ferramentas do GitHub Copilot no Visual Studio Code

Visual Studio Code fornece fácil acesso aos seguintes recursos do GitHub Copilot e do GitHub Copilot Chat:

  • Preenchimentos de linha de código: Use preenchimentos de linha de código para escrever código com mais eficiência.
  • Chat embutido: inicie uma conversa de chat embutida diretamente do editor para obter ajuda enquanto você programa.
  • Modo de exibição de chat: abra um assistente de IA ao lado que pode ajudar você a qualquer momento.
  • Chat rápido: faça uma pergunta rápida e volte ao que estava fazendo.
  • Ações inteligentes: Execute ações inteligentes para executar determinadas tarefas sem precisar escrever um prompt.

As extensões de GitHub Copilot trazem o poder da IA para o ambiente Visual Studio Code.

Gerar código usando completação de linhas de código com o GitHub Copilot

GitHub Copilot gera completações de linha de código à medida que você insere o código. O código que já está em seu aplicativo fornece contexto que GitHub Copilot usa para gerar sugestões precisas. Por exemplo, suponha que você esteja trabalhando em uma classe que processe as despesas do cliente. A classe usa uma lista que contém despesas para todos os clientes. Você precisa criar um método que retorne a soma de todas as despesas. Se você começar a inserir a assinatura do método, GitHub Copilot gerará uma sugestão que conclua a linha de código.

Captura de tela mostrando um preenchimento de linha de código baseado no código.

Se estiver contente com a sugestão, pressione a tecla Tab ou selecione Aceitar. Os preenchimentos automáticos economizam tempo e ajudam você a escrever código com precisão fornecendo os nomes de variáveis e outros elementos de código.

Você também pode usar preenchimentos de linha de código para ver diferentes opções para construir seu código. Por exemplo, se você começar a digitar a instrução de chamada para um método, o GitHub Copilot fornecerá sugestões que implementam as várias sobrecargas de método. Você pode verificar as sugestões e aceitar a opção que corresponda à sua intenção. Você também pode rejeitar todas as sugestões. Esse processo ajuda você a explorar rapidamente diferentes estilos e técnicas de programação.

O GitHub Copilot gera sugestões de preenchimento de linha de código com base em comentários de código. Por exemplo, se você digitar um comentário que descreve um método que deseja criar, GitHub Copilot gerará uma sugestão para a assinatura e a implementação do método.

Captura de tela mostrando um preenchimento de linha de código baseado em um comentário.

Observe que o preenchimento com o código sugerido usa informações do seu código existente e comentário do código que descreve o método.

Os desenvolvedores usam preenchimentos de código para acelerar o desenvolvimento de uma estrutura de código inicial.

Gerar código usando GitHub Copilot Chat

GitHub Copilot Chat ajuda você a criar código usando interfaces de chat e ações inteligentes. Por exemplo, se você inserir um prompt solicitando GitHub Copilot Chat para criar um novo método, GitHub Copilot fornecerá sugestões para uma ou mais assinaturas de método e implementações. Revisar e depois aceitar ou rejeitar essa sugestão ajuda a criar uma versão inicial do seu código de forma mais rápida e precisa.

Observação

A extensão de chat GitHub Copilot para Visual Studio Code inclui uma interface de chat que processa a entrada do usuário. Esse treinamento usa os termos perguntas e solicitação ao se referir à entrada fornecida durante uma sessão de chat.

GitHub Copilot Chat é especialmente útil quando você precisa desenvolver um código que implemente recursos desconhecidos, como uma nova biblioteca, estrutura ou API. Quando você envia um prompt que descreve suas necessidades, GitHub Copilot Chat gera sugestões que demonstram como atingir sua meta. Examinar as sugestões também pode ensinar como implementar os novos recursos.

Fornecer ao Chat do GitHub Copilot solicitações ou perguntas que tenham um escopo e intenção claros melhora as respostas geradas. Você pode fazer perguntas que fornecem contexto e descrevem seus requisitos em um estilo de conversa. GitHub Copilot Chat usa as informações que você fornece para gerar sugestões de código que atendam às suas necessidades e correspondam ao seu estilo de codificação.

Você pode usar participantes de chat, comandos de barra e variáveis de chat para esclarecer o contexto das suas solicitações.

  • Os participantes do chat, como @workspace ou @terminal, ajudam GitHub Copilot Chat a entender o contexto de sua pergunta.
  • Comandos de barra, como /explain ou /new, ajudam GitHub Copilot Chat a entender a intenção ou a finalidade de sua pergunta.
  • Variáveis de chat, como #file ou #editor, ajudam o Copilot Chat a se concentrar em algo específico ao considerar o contexto maior da sua pergunta.

O uso desses descritores especializados ajuda GitHub Copilot Chat a gerar respostas mais precisas e úteis.

Você pode combinar participantes de chat com comandos de barra para executar ações específicas. Como exemplo, você poderia criar a estrutura de um novo aplicativo de console em C# usando o seguinte comando: @workspace /new console application in C#. Esse prompt inclui um participante de chat (@workspace) e um comando de barra (/new) para ajudar GitHub Copilot Chat a executar a tarefa pretendida.

Captura de tela mostrando o Chat usado para fazer o scaffold de um aplicativo de console.

GitHub Copilot pode estruturar espaços de trabalho mais complexos. Por exemplo, a solicitação a seguir cria o espaço de trabalho para um aplicativo Node.js que usa a estrutura Express, o mecanismo de modelo Pug e TypeScript: @workspace /new Node.js Express Pug TypeScript.

Gerar código com GitHub Copilot Chat usando a visualização de chat

O modo de exibição de Chat no Visual Studio Code fornece acesso a um assistente de IA que ajuda você a desenvolver código. Você pode fazer perguntas e obter ajuda do assistente de IA sem sair do ambiente Visual Studio Code. A visualização de Chat fornece assistência quando você está desenvolvendo código e explorando abordagens para resolver problemas de codificação difíceis. Você também pode usar o modo de exibição de Chat para fazer perguntas sobre o código existente, para obter ajuda com erros ou problemas lógicos e para obter informações sobre como usar recursos. O modo de exibição em Chat pode ajudar você a aprender novas técnicas, explorar diferentes estilos e melhorar suas habilidades de programação.

A visão de chat é exibida em um painel próprio à direita do editor de código do Visual Studio Code. Para abrir o modo de exibição chat, selecione Chat na barra de título do Visual Studio Code ou use o atalho de teclado Ctrl+Alt+I.

Captura de tela mostrando a

Se você precisar de mais espaço na tela em Visual Studio Code, poderá abrir o modo de exibição chat em uma janela separada selecionando Open Chat em Nova Janela no menu de contexto do modo de exibição de Chat.

Captura de tela mostrando o modo de exibição em Chat respondendo a uma pergunta no Visual Studio Code.

GitHub Copilot Chat fornece resultados avançados e interativos que incluem os seguintes elementos:

  • Texto simples. Por exemplo, para fornecer uma resposta de linguagem natural a uma pergunta.
  • Imagens. Por exemplo, para mostrar um diagrama ou uma captura de tela.
  • Botões. Por exemplo, para disparar uma ação.
  • Referências. Por exemplo, Uniform Resource Identifiers (URIs) em que você pode encontrar mais informações.
  • Árvores de arquivos. Por exemplo, para mostrar uma prévia do espaço de trabalho quando um participante do chat propõe criar um novo espaço de trabalho.

O exemplo a seguir mostra uma resposta para a solicitação usada para criar um aplicativo Express. GitHub Copilot Chat fornece uma explicação de texto simples, uma exibição de árvore mostrando uma estrutura de workspace sugerida e um botão que pode ser usado para criar o novo workspace.

Captura de tela mostrando o modo de exibição em Chat com o botão

GitHub Copilot mantém um histórico de sua conversa. O histórico é usado para melhorar as respostas e as perguntas de acompanhamento sugeridas por GitHub Copilot Chat.

Gerenciar blocos de código no modo de exibição de Chat

Dependendo da pergunta, GitHub Copilot Chat pode retornar o código-fonte na resposta. O código-fonte é exibido como um bloco de código e você pode gerenciar o código de algumas maneiras diferentes.

Se você passar o ponteiro do mouse sobre o bloco de código, as opções para gerenciar o bloco de código serão exibidas. Suas opções iniciais são Aplicar, Inserir (Ctrl+Enter) e Copiar.

Captura de tela mostrando um bloco de código no modo de exibição em Chat.

O botão Mais Ações (...) mostra as opções para Inserir no Terminal(Ctrl+Alt+Enter) e Inserir no Novo Arquivo.

Se GitHub Copilot Chat detectar que um bloco de código contém um comando, você poderá executá-lo diretamente no terminal integrado com Insert no Terminal (Ctrl+Alt+Enter). Essa opção cria ou abre o terminal ativo e insere o texto do comando, pronto para você executar.

Captura de tela mostrando a opção Inserir no Terminal no modo de exibição em Chat.

Gerar código com GitHub Copilot Chat usando chat embutido

A interface de chat embutida fornece acesso a recursos avançados de IA, mantendo o foco em seu código. Quando estiver trabalhando no editor de código, você pode abrir o chat embutido pressionando Ctrl+I no teclado.

Você pode usar o chat embutido das seguintes maneiras:

  • Para fazer perguntas sobre o código existente.
  • Para modificar ou substituir o código existente.
  • Para gerar um novo código.

Crie um novo recurso usando o chat embutido

A interface de chat embutida pode ser usada para desenvolver novos recursos de código. Por exemplo, você pode usar o chat integrado para criar um componente de interface do usuário, um ponto de API ou um pipeline de processamento de dados.

Você pode criar um novo recurso de código usando o chat embutido concluindo as seguintes etapas:

  1. Selecione o código no editor.

  2. Abra a interface de chat embutido pressionando Ctrl+I no teclado.

  3. Insira uma solicitação que descreve o recurso que você quer criar.

  4. Revise as sugestões fornecidas pelo GitHub Copilot Chat e refine seu prompt, se necessário.

  5. Quando estiver satisfeito, aceite uma sugestão.

Aqui está um exemplo que demonstra como criar um novo método usando o chat integrado:

Captura de tela mostrando uma sessão de chat embutido usada para criar um método.

Crie expressões regulares usando chat integrado

Expressões regulares são padrões usados para corresponder a combinações de caracteres em cadeias de caracteres. Alguns desenvolvedores acham as expressões regulares difíceis de escrever porque podem ser complexas e difíceis de entender.

A interface de chat embutido pode ser usada para gerar expressões regulares de forma rápida e precisa. Por exemplo, você pode usar o chat embutido para gerar expressões regulares com o objetivo de validar endereços de email, números de telefone, CEP e outros padrões de dados.

Você pode criar uma expressão regular usando o chat embutido concluindo as seguintes etapas:

  1. Selecione o código no editor.

  2. Abra a interface de chat embutido pressionando Ctrl + I no teclado.

  3. Insira uma solicitação que descreve o padrão de dados que você precisa validar.

  4. Examine as sugestões fornecidas por GitHub Copilot Chat e, quando estiver satisfeito, aceite uma sugestão.

Aqui está um exemplo que demonstra como criar uma expressão regular para endereços de email usando chat embutido:

Captura de tela mostrando uma sessão de chat embutido usada para criar uma expressão regular.

É sempre importante examinar as respostas geradas pelo chat GitHub Copilot.

GitHub Copilot Chat sugere que a seguinte expressão regular pode ser usada para validar endereços de email: ^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$.

Vamos dedicar um minuto para avaliar a expressão regular sugerida.

^: esse símbolo indica o início de uma linha. O endereço de email deve começar aqui.

[a-zA-Z0-9_.+-]+: Essa parte da expressão corresponde a um ou mais (+) dos caracteres dentro dos colchetes ([]). Os caracteres podem ser minúsculos (a-z), maiúsculos (A-Z), numéricos (0-9) ou caracteres especiais como , sublinhado (_), ponto (.), mais (+) ou hífen (-).

@: Essa parte da expressão é o símbolo "em" (@). É um caractere literal no endereço de e-mail.

[a-zA-Z0-9-]+: Essa parte da expressão é semelhante à primeira, mas é para a parte do nome de domínio do email. Pode conter um ou mais caracteres minúsculos, maiúsculos, numéricos ou hífen (-).

\.: Essa parte da expressão é um caractere de ponto literal (.). Separa o nome do domínio da extensão do domínio.

[a-zA-Z0-9-.]+: Essa parte da expressão corresponde à extensão de domínio. Pode conter um ou mais caracteres minúsculos, maiúsculos, numéricos, hifen (-) ou ponto (.).

$: esse símbolo indica o final de uma linha. O endereço de email deve terminar aqui.

No geral, essa expressão regular é um bom ponto de partida para validar endereços de email, mas tem algumas limitações e pode não abranger todos os formatos de email válidos. Talvez você queira considerar o uso de padrões mais abrangentes ou até mesmo bibliotecas de validação de email dedicadas para aplicativos críticos.

Resumo

As extensões de GitHub Copilot ajudam os desenvolvedores a escrever código mais rapidamente e com menos erros. A extensão GitHub Copilot gera sugestões de conclusão de código usando o código inserido no editor ou seus comentários de código. A extensão GitHub Copilot Chat gera sugestões de código com base em interações de chat ou ações inteligentes que atuam no código selecionado.