O GitHub Copilot gera sugestões de código diretamente no Visual Studio Code. O GitLens adiciona histórico profundo do Git, anotações de blame e informações de CodeLens ao editor. Quando você combina ambas as ferramentas, o Copilot pode usar o contexto do Git do GitLens para produzir código mais relevante. Este artigo explica como a integração funciona, mostra a configuração passo a passo e aborda os padrões mais úteis para o trabalho diário de desenvolvimento.
Principais Conclusões: Integração GitHub Copilot e GitLens no VS Code
- Anotações CodeLens do GitLens: O Copilot lê mensagens de commit e dados de blame para gerar sugestões de código conscientes do contexto que correspondem ao histórico do seu projeto.
- Blame inline do GitLens: Quando o Copilot sugere uma função, ele pode referenciar o último autor e commit do GitLens, melhorando a precisão da revisão de código.
- Copilot Chat com contexto do Git: Digite
@gitlens /explainno Copilot Chat para obter explicações do histórico do Git para um bloco de código selecionado.
Como o GitHub Copilot e o GitLens Funcionam Juntos no VS Code
O GitHub Copilot é um programador parceiro de IA que sugere código enquanto você digita. Ele usa o arquivo aberto, o código ao redor e comentários para gerar complementos. O GitLens turbina as capacidades Git do VS Code. Ele mostra anotações de blame inline, CodeLens com detalhes de commit, um poderoso explorador GitLens e ferramentas interativas de rebase.
A integração não é uma chave única. Em vez disso, o GitLens expõe metadados do Git—nomes de autores, mensagens de commit, histórico de alterações de arquivos e informações de branch—que o Copilot pode usar indiretamente. Quando você seleciona um bloco de código e usa o Copilot Chat com o participante @gitlens, o Copilot pode explicar por que uma alteração foi feita com base no histórico do Git. No editor, as anotações do GitLens fornecem contexto que ajuda você a avaliar as sugestões do Copilot mais rapidamente.
Pré-requisitos
Você precisa do seguinte instalado no VS Code:
- Extensão GitHub Copilot (versão 1.100 ou posterior)
- Extensão GitLens (versão 14.0 ou posterior)
- VS Code 1.85 ou posterior
- Uma assinatura do GitHub Copilot (individual, empresarial ou corporativa)
- Um repositório Git com pelo menos um commit
Configurando a Integração
A integração não requer nenhum arquivo de configuração especial. Ambas as extensões funcionam lado a lado após a instalação. Siga estas etapas para verificar e otimizar a configuração.
- Instale ambas as extensões do marketplace do VS Code
Abra a visualização de Extensões pressionando Ctrl+Shift+X. Pesquise por GitHub Copilot e GitLens. Instale cada uma. Reinicie o VS Code após a instalação. - Faça login no GitHub Copilot
Abra a Paleta de Comandos com Ctrl+Shift+P. Digite Copilot e selecione GitHub Copilot: Sign In. Complete a autenticação baseada no navegador. Uma marca de verificação verde na barra de status confirma a ativação. - Ative o CodeLens do GitLens
Abra as Configurações com Ctrl+, e pesquise por GitLens CodeLens. Certifique-se de que GitLens: CodeLens esteja definido como All ou Blame. Isso mostra o autor e a data do commit acima de cada função. - Ative o blame inline do GitLens
Nas mesmas configurações, pesquise por GitLens Inline Blame. Defina GitLens: Inline Blame Enabled como true. Isso mostra o último commit e autor na linha atual. - Teste a integração
Abra um arquivo em um repositório Git. Selecione uma função. Abra o Copilot Chat com Ctrl+Shift+I. Digite@gitlens /explain. O Copilot deve retornar uma explicação do histórico do Git para aquele bloco de código.
Padrões Práticos para Uso Diário
O valor real aparece quando você aplica ambas as ferramentas a tarefas específicas de desenvolvimento. Abaixo estão os padrões mais eficazes.
Padrão 1: Revisão de Código com Contexto de Blame
Ao revisar um pull request, muitas vezes você precisa saber quem escreveu um bloco de código e por quê. O blame inline do GitLens mostra o autor e a mensagem do commit em cada linha. O Copilot pode então sugerir melhorias que respeitem a intenção original.
Selecione uma função com alta atividade de blame. Abra o Copilot Chat e pergunte: “Sugira uma refatoração para esta função que preserve seu comportamento atual.” O Copilot usa o corpo da função e quaisquer comentários como contexto. As anotações do GitLens informam se o código foi escrito recentemente ou é legado, o que ajuda a decidir com que agressividade refatorar.
Padrão 2: Geração de Testes para Código Alterado
Após fazer alterações em um branch de funcionalidade, você deseja testes unitários que cubram a nova lógica. O GitLens mostra quais linhas diferem do branch base. Use o explorador do GitLens para selecionar os arquivos alterados. Em seguida, peça ao Copilot: “Gere testes unitários para as funções alteradas neste arquivo.”
O Copilot lê o conteúdo atual do arquivo e pode referenciar o contexto do diff se você tiver o editor de diff do VS Code aberto. O GitLens destaca as linhas exatas que precisam de cobertura de teste. Esse padrão reduz o tempo gasto escrevendo código de teste repetitivo.
Padrão 3: Entendendo Código Legado com /explain
Código legado muitas vezes carece de documentação. As mensagens de commit do Git são o único histórico escrito. Selecione um bloco de código confuso. Abra o Copilot Chat e digite @gitlens /explain. O Copilot retorna um resumo do histórico do Git para aquela seleção, incluindo as mensagens de commit e autores envolvidos.
Esse padrão funciona porque o GitLens fornece o contexto do Git ao Copilot através da API de participante do chat. Você não precisa abrir o log do Git manualmente. A explicação aparece inline no painel de chat.
Padrão 4: Autocompletar Operações Repetitivas do Git
Ao digitar um comando Git no terminal, o Copilot pode sugerir o comando completo com base no seu histórico recente. O GitLens melhora isso mostrando os últimos comandos no explorador do GitLens. Por exemplo, digite git commit -m e o Copilot sugere uma mensagem baseada no diff e nos padrões recentes de commit.
Esse padrão funciona melhor quando o GitLens está configurado para mostrar commits recentes na barra de status. A combinação reduz erros de digitação e mantém as mensagens de commit consistentes em toda a equipe.
Problemas Comuns e Limitações
Copilot Chat Não Reconhece @gitlens
Se o Copilot Chat ignorar o participante @gitlens, atualize ambas as extensões para a versão mais recente. Abra a visualização de Extensões, clique com o botão direito em GitHub Copilot e GitLens e selecione Update. O participante foi adicionado no GitLens 14.0 e requer Copilot Chat 1.0 ou posterior. Se as atualizações não ajudarem, recarregue a janela do VS Code com Ctrl+Shift+P e Developer: Reload Window.
Sugestões do Copilot Ignoram Histórico do Git
O Copilot não lê dados do GitLens diretamente no editor. Ele usa apenas o conteúdo do arquivo, comentários e o caminho do arquivo aberto. Para tornar o Copilot ciente do contexto do Git, você deve usar o Copilot Chat com o participante @gitlens. Para complementos inline, escreva um comentário que referencie a alteração, como // refatorado no commit a1b2c3. O Copilot pode então usar esse comentário para gerar código relevante.
Anotações do GitLens Sobrepõem Sugestões do Copilot
Quando o blame inline está ativado, a linha pode mostrar tanto a anotação do GitLens quanto uma sugestão de texto fantasma do Copilot. Isso pode ser visualmente confuso. Para reduzir a sobreposição, defina GitLens: Inline Blame como After Line em vez de Over Line. Isso coloca o texto de blame à direita da linha, deixando o lado esquerdo livre para as sugestões do Copilot.
GitHub Copilot Sozinho vs GitHub Copilot com GitLens: Principais Diferenças
| Item | GitHub Copilot Sozinho | GitHub Copilot com GitLens |
|---|---|---|
| Contexto de conclusão de código | Arquivo aberto, comentários, código ao redor | Mesmo mais blame inline e mensagens de commit visíveis no editor |
| Histórico do Git no chat | Nenhum participante específico do Git disponível | @gitlens /explain fornece histórico de commits para o código selecionado |
| Suporte a revisão de código | Consulta manual do blame do Git | Blame inline mostra autor e data automaticamente |
| Precisão na geração de testes | Baseada apenas no conteúdo atual do arquivo | Pode referenciar contexto de diff do explorador GitLens |
| Curva de aprendizado | Baixa | Média — requer conhecer o participante @gitlens |
A principal vantagem de adicionar o GitLens é a capacidade de consultar o histórico do Git sem sair do editor. O Copilot sozinho não pode responder perguntas sobre por que uma alteração foi feita. O GitLens preenche essa lacuna com o participante de chat @gitlens.
Use a combinação quando trabalhar em bases de código com commits frequentes, vários autores ou branches de funcionalidade de longa duração. Para projetos solo com histórico simples, o Copilot sozinho pode ser suficiente.
Para aproveitar ao máximo a integração, aprenda os comandos de chat @gitlens. Digite @gitlens /help no Copilot Chat para ver a lista completa. Os comandos mais úteis são /explain, /blame e /log. Cada um retorna contexto do Git que ajuda você a avaliar as sugestões do Copilot.