Como Fazer o GitHub Copilot Respeitar o .gitignore no VS Code
🔍 WiseChecker

Como Fazer o GitHub Copilot Respeitar o .gitignore no VS Code

O GitHub Copilot no VS Code pode sugerir código com base em arquivos que você não quer que ele leia. Quando o Copilot ignora suas regras do .gitignore, ele pode usar contexto de arquivos confidenciais ou irrelevantes. Isso acontece porque, por padrão, o Copilot indexa todos os arquivos abertos e do projeto, independentemente do .gitignore. Este artigo explica como configurar o Copilot para respeitar o .gitignore e manter suas sugestões focadas nos arquivos que você realmente deseja que ele veja.

Principais pontos: Faça o GitHub Copilot Respeitar o .gitignore

  • Configurações do VS Code > GitHub Copilot > Ignored Files: Adicione padrões de arquivo para impedir que o Copilot indexe esses arquivos.
  • .github/copilot-instructions.md: Escreva instruções que digam ao Copilot para excluir padrões do .gitignore.
  • Copilot Chat > /reset: Limpe o cache de contexto do Copilot após alterar as configurações de ignorar para forçá-lo a reavaliar os arquivos.

Por que o GitHub Copilot Pode Ignorar Seu .gitignore

Por padrão, o GitHub Copilot não lê as regras do .gitignore. Ele indexa todos os arquivos no workspace que não são explicitamente excluídos pelas configurações de exclusão de arquivos do VS Code. Isso significa que arquivos como .env, node_modules, artefatos de build e segredos de configuração podem ser incluídos no contexto do Copilot. A causa raiz é que o mecanismo de indexação do Copilot opera independentemente do rastreamento de arquivos do Git. O Copilot usa sua própria lógica de inclusão de arquivos com base no workspace do VS Code e nas abas do editor abertas. Quando você abre um arquivo que está no .gitignore, o Copilot o indexa imediatamente. Isso pode levar a sugestões que referenciam código de arquivos que você nunca pretendeu expor ao Copilot.

Passos para Configurar o Copilot a Respeitar o .gitignore

Siga estes passos para restringir a indexação de arquivos do Copilot apenas aos arquivos que você deseja.

  1. Abra as Configurações do VS Code
    Pressione Ctrl + , para abrir o editor de Configurações. Alternativamente, vá em Arquivo > Preferências > Configurações.
  2. Pesquise por Copilot Ignored Files
    Na barra de pesquisa no topo, digite ignored files. A configuração GitHub Copilot: Ignored Files aparece em Extensões > GitHub Copilot.
  3. Adicione Padrões de Arquivo para Ignorar
    Clique em Adicionar Item e insira um padrão glob para cada arquivo ou pasta que você deseja que o Copilot ignore. Padrões comuns incluem .env, node_modules/, dist/, .git/ e log. Cada padrão deve corresponder à sintaxe exata usada no .gitignore. Pressione Enter após cada padrão.
  4. Crie um Arquivo de Instruções do Copilot
    Na raiz do seu projeto, crie uma pasta chamada .github e dentro dela crie um arquivo chamado copilot-instructions.md. Adicione o seguinte conteúdo:
    Você deve ignorar todos os arquivos que correspondam aos padrões no arquivo .gitignore do projeto. Não considere arquivos .env, saída de build, dependências ou qualquer arquivo listado no .gitignore como contexto para sugestões.
    Salve o arquivo. O Copilot lê este arquivo na próxima solicitação de sugestão.
  5. Recarregue a Janela do VS Code
    Abra a Paleta de Comandos com Ctrl + Shift + P, digite Developer: Reload Window e pressione Enter. Isso limpa o cache interno do Copilot e o força a aplicar os novos padrões de ignorar e instruções.
  6. Teste a Configuração
    Abra um arquivo que está listado no seu .gitignore, como .env. Digite alguns caracteres e veja se o Copilot oferece sugestões. Se a configuração funcionou, o Copilot não deve fornecer nenhuma sugestão com base nesse arquivo. Em seguida, abra um arquivo de código fonte que não está no .gitignore e verifique se as sugestões ainda aparecem.

Se o Copilot Ainda Ler Arquivos Ignorados

Copilot Sugere Código de node_modules ou Pastas de Build

Se o Copilot ainda referenciar arquivos que você excluiu, o problema é provavelmente que o Copilot tem dados de índice antigos em cache. Execute o comando GitHub Copilot: Clear Index na Paleta de Comandos. Aguarde alguns segundos e tente novamente. Se o problema persistir, adicione o caminho específico da pasta à configuração Ignored Files usando um padrão absoluto como /node_modules/ em vez de node_modules/. A barra inicial garante que o padrão corresponda apenas à pasta raiz.

Copilot Sugere Segredos de Arquivos .env

Se você vir chaves de API ou senhas nas sugestões do Copilot, pare imediatamente de usar o Copilot até aplicar os padrões de ignorar. Adicione .env e .env. à configuração Ignored Files. Adicione também uma linha ao seu copilot-instructions.md dizendo Nunca sugira conteúdo de arquivos .env ou qualquer arquivo contendo segredos. Após fazer essas alterações, limpe o índice e recarregue a janela. Verifique seu histórico do Git para confirmar que nenhum dado confidencial foi commitado.

Copilot Lê Arquivos de Outras Pastas do Workspace

Se você tem várias pastas no seu workspace do VS Code, o Copilot pode indexar arquivos de todas elas. Para restringir o Copilot apenas ao projeto atual, abra o arquivo de configurações do workspace (.vscode/settings.json) e adicione os padrões de ignorar lá. As configurações do workspace substituem as configurações do usuário. Por exemplo:
"github.copilot.ignoredFiles": [".env", "node_modules/", "dist/"]
Salve o arquivo e recarregue a janela.

Item Método de Configurações do VS Code Método de Instruções do Copilot
Descrição Listar manualmente padrões de arquivo nas configurações do VS Code Escrever regras em linguagem natural em um arquivo markdown
Local da configuração Configurações > GitHub Copilot > Ignored Files .github/copilot-instructions.md na raiz do projeto
Escopo Global ou workspace Por repositório
Sintaxe do padrão Padrões glob Instruções em português claro
Eficácia Bloqueia diretamente a indexação de arquivos Orienta o comportamento do Copilot, mas pode não bloquear a indexação
Melhor para Bloquear pastas confidenciais ou grandes Ajustar a relevância das sugestões

Agora você pode configurar o GitHub Copilot para ignorar arquivos listados no .gitignore usando tanto as configurações do VS Code quanto um arquivo copilot-instructions.md. Comece adicionando os padrões mais críticos, como .env e node_modules. Após cada alteração, limpe o índice do Copilot e recarregue a janela para garantir que as novas regras entrem em vigor. Para equipes, considere commitar o arquivo copilot-instructions.md no seu repositório para que todos os membros se beneficiem das mesmas regras. Uma dica avançada: use a configuração github.copilot.ignoredFiles no seu workspace settings.json para aplicar regras de ignorar em toda a equipe sem depender das configurações de usuário de cada desenvolvedor.