GitHub Copilot Chat Não Consegue Ver Arquivos do Workspace: Correção
🔍 WiseChecker

GitHub Copilot Chat Não Consegue Ver Arquivos do Workspace: Correção

Quando você faz uma pergunta ao GitHub Copilot Chat sobre seu código, ele pode responder com respostas genéricas ou informar que não encontra arquivos no workspace. Isso geralmente acontece porque o Copilot Chat não tem as permissões adequadas para escanear seus arquivos ou porque o índice do workspace não está configurado corretamente. O problema também pode ser causado por uma extensão desatualizada ou um arquivo .gitignore mal configurado que bloqueia a indexação. Este artigo explica as causas raiz e fornece correções passo a passo para restaurar a visibilidade total do workspace.

Principais Pontos: Restaurando o Acesso do GitHub Copilot Chat ao Workspace

  • VS Code Settings > Extensions > GitHub Copilot > Chat > Workspace Indexing: Ativa ou desativa a indexação de arquivos no workspace atual para consultas do Copilot Chat.
  • Ctrl+Shift+P > Developer: Reload Window: Atualiza o host da extensão e força uma reindexação dos arquivos do workspace sem reiniciar o VS Code.
  • Arquivo .gitignore do workspace: Arquivos listados no .gitignore são excluídos da indexação do Copilot por padrão; remova entradas para incluí-los.

ADVERTISEMENT

Por que o GitHub Copilot Chat Não Encontra Arquivos do Workspace

O GitHub Copilot Chat usa um indexador de arquivos para escanear seu workspace e construir um modelo de contexto do seu projeto. Quando você faz uma pergunta, o Copilot Chat pesquisa esse índice para encontrar arquivos relevantes e fornecer respostas fundamentadas. Se o índice estiver ausente, incompleto ou desabilitado, o Copilot Chat não consegue ver nenhum arquivo do workspace.

A causa raiz é quase sempre uma de três coisas. Primeiro, o recurso de indexação do workspace está desligado nas configurações da extensão do VS Code. Segundo, a própria extensão está desatualizada ou o servidor de linguagem não iniciou. Terceiro, o arquivo .gitignore ou .copilotignore do seu projeto exclui os arquivos que você deseja que o Copilot Chat leia. Em casos raros, um cache corrompido da extensão ou uma extensão conflitante pode bloquear o processo de indexação.

Passos para Corrigir a Visibilidade de Arquivos do Workspace no GitHub Copilot Chat

Siga estes passos em ordem. Teste após cada passo perguntando ao Copilot Chat sobre um arquivo específico do seu workspace, como “O que contém o arquivo main.py?”

Passo 1: Ativar a Indexação do Workspace nas Configurações do VS Code

  1. Abra as Configurações do VS Code
    Pressione Ctrl+, para abrir o editor de Configurações. Alternativamente, vá em File > Preferences > Settings.
  2. Pesquise por indexação do workspace
    Digite workspace indexing na barra de pesquisa no topo do editor de Configurações.
  3. Ative a configuração
    Procure pela configuração chamada GitHub Copilot: Workspace Indexing. Defina-a como Enabled. Se já estiver ativada, desative e ative novamente para atualizar a configuração.
  4. Recarregue a janela
    Pressione Ctrl+Shift+P para abrir a Paleta de Comandos. Digite Developer: Reload Window e pressione Enter. Isso força a extensão a reinicializar com a nova configuração.

Passo 2: Atualizar a Extensão do GitHub Copilot

  1. Abra a visualização de Extensões
    Clique no ícone de Extensões na Barra de Atividades no lado esquerdo do VS Code, ou pressione Ctrl+Shift+X.
  2. Verifique se há atualizações
    Na visualização de Extensões, procure pelas extensões GitHub Copilot e GitHub Copilot Chat. Se houver uma atualização disponível, você verá um botão Update ao lado de cada uma.
  3. Instale as atualizações
    Clique no botão Update para cada extensão. Após atualizar, recarregue a janela usando Ctrl+Shift+P > Developer: Reload Window.

Passo 3: Limpar o Cache da Extensão do Copilot

  1. Abra a paleta de comandos do VS Code
    Pressione Ctrl+Shift+P.
  2. Execute o comando de limpeza de cache
    Digite Developer: Clear Editor Cache e pressione Enter. Isso remove quaisquer dados de cache corrompidos das extensões.
  3. Recarregue a janela
    Pressione Ctrl+Shift+P novamente, digite Developer: Reload Window e pressione Enter.

Passo 4: Verificar os Arquivos .gitignore e .copilotignore

  1. Abra a raiz do seu projeto
    No Explorer do VS Code, localize o arquivo .gitignore na raiz do seu workspace. Se você tiver um arquivo .copilotignore, abra-o também.
  2. Revise as regras de exclusão
    Procure por linhas que correspondam aos arquivos ou pastas que você espera que o Copilot Chat veja. Por exemplo, node_modules/, dist/ ou log são exclusões comuns.
  3. Remova ou comente as linhas
    Para incluir um tipo de arquivo ou pasta, exclua a linha ou adicione um # no início para comentá-la. Por exemplo, altere log para # log.
  4. Salve e recarregue
    Salve o arquivo e recarregue a janela usando Ctrl+Shift+P > Developer: Reload Window.

Passo 5: Desativar Extensões Conflitantes

  1. Abra a visualização de Extensões
    Pressione Ctrl+Shift+X.
  2. Desative extensões uma por uma
    Clique no ícone de engrenagem ao lado de cada extensão e selecione Disable. Foco em extensões que também fornecem recursos de IA ou análise de código, como Tabnine, Codeium ou Amazon CodeWhisperer.
  3. Teste após cada desativação
    Após desativar uma extensão, recarregue a janela e faça uma pergunta ao Copilot Chat sobre um arquivo do workspace. Se funcionar, você encontrou a extensão conflitante. Deixe-a desativada ou reconfigure-a.

ADVERTISEMENT

Se o Copilot Chat Ainda Não Consegue Ver Arquivos Após a Correção Principal

Copilot Chat Retorna Respostas Genéricas em Vez de Respostas Específicas de Arquivos

Se você ativou a indexação do workspace e limpou o cache, mas o Copilot Chat ainda dá respostas genéricas, o problema pode ser um servidor de linguagem corrompido. Abra a Paleta de Comandos (Ctrl+Shift+P), digite GitHub Copilot: Restart Language Server e pressione Enter. Isso força o servidor de linguagem a reconstruir seu índice de arquivos do zero. Aguarde 30 segundos e teste novamente.

Copilot Chat Ignora Certas Extensões de Arquivo

Por padrão, o Copilot Chat indexa extensões de arquivo de programação comuns como .py, .js, .ts, .java, .cs, .go e .rb. Se você trabalha com tipos de arquivo menos comuns, como .r ou .sql, o Copilot Chat pode ignorá-los. Para incluir extensões de arquivo adicionais, abra as Configurações do VS Code, pesquise por files.associations e adicione um mapeamento. Por exemplo, defina r para r e sql para sql. Em seguida, recarregue a janela.

Copilot Chat Não Consegue Ver Arquivos em um Workspace Multi-Root

Se você usa um workspace multi-root, o Copilot Chat pode indexar apenas a primeira pasta. Para corrigir isso, abra o arquivo do workspace (.code-workspace) e garanta que todas as pastas estejam listadas no array folders. Em seguida, defina "github.copilot.chat.workspaceIndexing": true na seção de configurações do workspace do mesmo arquivo. Recarregue a janela.

Indexação do Workspace do GitHub Copilot Chat: Ativada vs Desativada

Item Ativada Desativada
Visibilidade de arquivos Copilot Chat pode ver e referenciar todos os arquivos indexados Copilot Chat não consegue ver nenhum arquivo do workspace
Qualidade das respostas Respostas incluem caminhos de arquivos, trechos de código e contexto específico do projeto Respostas são genéricas e não referenciam seu código
Impacto no desempenho Indexação inicial usa CPU por alguns segundos; depois, sem sobrecarga perceptível Sem sobrecarga de indexação, mas o Copilot Chat fica efetivamente cego para seu projeto
Recomendado para A maioria dos desenvolvedores que querem que o Copilot Chat entenda seu projeto Apenas se você tiver problemas de desempenho ou trabalhar com repositórios extremamente grandes

Agora você pode executar as etapas de correção principais acima para ativar a indexação do workspace e fazer o Copilot Chat funcionar com seus arquivos. Após concluir as etapas, teste o recurso abrindo um arquivo e pedindo ao Copilot Chat para explicá-lo. Para projetos grandes, você também pode ajustar o escopo da indexação adicionando um arquivo .copilotignore para excluir pastas específicas como node_modules sem afetar a visibilidade do seu código-fonte.

ADVERTISEMENT