Se uma tarefa do projeto no VS Code falhar de repente — formatação, linting, depuração ou navegação em arquivos —, use o Extension Bisect para descobrir qual extensão ativada está envolvida. No Mac, abra a Paleta de Comandos com ⇧⌘P, execute Help: Start Extension Bisect e repita a mesma tarefa após cada alteração. Se o problema persistir, escolha This is bad; se desaparecer, escolha Good now. O VS Code testa grupos de extensões e restringe a busca com base nessas respostas. Guia do Extension Bisect do VS Code

Reproduza a mesma falha antes de testar

Primeiro, anote a sequência mais curta que reproduza o problema de forma confiável: por exemplo, abrir um arquivo específico, salvá-lo e verificar se a formatação é executada. Registre o que você esperava e o que aconteceu. Mantenha o mesmo projeto, arquivo e etapas durante cada rodada do bisect. Isso dá a cada resposta uma base consistente; se o sintoma for intermitente ou você mudar a tarefa, o resultado pode não identificar a causa de maneira confiável.

Verifique se o comportamento se limita a um workspace ou se acontece em vários. Uma extensão pode ser desativada globalmente ou apenas para o workspace atual, portanto, uma falha específica de um projeto pode ser testada e posteriormente tratada no escopo do workspace. A visualização de Extensões está disponível com ⇧⌘X. O VS Code documenta os controles de extensões globais e de workspace.

Execute o Extension Bisect a partir da Paleta de Comandos

No macOS, pressione ⇧⌘P, digite Help: Start Extension Bisect e selecione o comando. O VS Code desativa grupos de extensões e solicita que você avalie se o problema persiste. Execute as etapas de reprodução registradas antes de selecionar This is bad ou Good now. O Bisect usa essas respostas para selecionar o próximo grupo; continue respondendo com base no mesmo sintoma até que o VS Code identifique uma extensão ou termine sem encontrar nenhuma. O guia oficial explica o processo grupo a grupo.

Com muitas extensões ativadas, restringir a busca pela metade pode exigir muito menos verificações do que desativá-las uma a uma. O processo depende de um feedback preciso: relatar “Good now” quando o problema ainda existe, ou “This is bad” quando ele parou, pode desviar a busca. O guia do bisect também observa que ele começa verificando se o problema permanece com as extensões desativadas, já que a causa pode ser o próprio VS Code.

Confirme o resultado antes de alterar sua configuração

Quando o VS Code identificar uma candidata, repita a tarefa original com essa extensão ativada e desativada. Na visualização de Extensões, localize a extensão, selecione o menu de engrenagem e escolha a opção de desativação relevante. O VS Code pode solicitar a reinicialização do host de extensão; conclua essa solicitação e, em seguida, reproduza o problema. Reative a extensão e verifique novamente. Se o sintoma retornar de forma consistente quando ativada e desaparecer quando desativada, você terá evidências mais fortes de que a extensão está envolvida. A desativação é reversível; a desinstalação não é necessária para o diagnóstico. O VS Code documenta a desativação e ativação de extensões.

Uma extensão pode estar envolvida sem ser a única causa. Suas configurações, dependências ou a interação com outra extensão podem influenciar. Leia os detalhes no Marketplace e o README para verificar as configurações fornecidas e as dependências e, em seguida, verifique se uma atualização recente ou alteração de configuração coincide com o momento em que o fluxo de trabalho mudou. Se você precisar manter a extensão instalada, desative-a apenas para o workspace afetado, quando possível; caso contrário, deixe-a ativada e relate as etapas de reprodução e o ID da extensão ao desenvolvedor.

Se o bisect não encontrar uma extensão

Tente uma comparação limpa. Os perfis do VS Code podem isolar extensões e configurações: crie um Empty Profile no editor de Perfis, abra o projeto afetado com ele e repita a tarefa. Um Perfil Vazio desativa extensões e configurações modificadas, portanto, se a falha continuar, a causa pode ser o núcleo do VS Code, as ferramentas do projeto ou outra parte do ambiente. Se ela desaparecer, extensões ou configurações personalizadas estão envolvidas, mas o perfil vazio por si só não comprova qual delas. Documentação de perfis do VS Code.

Você também pode iniciar uma janela de diagnóstico pelo Terminal com code --disable-extensions . enquanto o terminal estiver no diretório do projeto. No Mac, o shell padrão do Terminal é o zsh; o comando não contém metacaracteres de shell que exijam aspas especiais. Isso desativa as extensões para essa inicialização, o que o torna útil para uma comparação rápida. Ele não identifica uma extensão específica; use o Bisect ou a desativação no nível do workspace para isso. O comando code deve estar disponível no PATH do seu shell. O VS Code documenta essa opção de inicialização; a Apple documenta o shell padrão do Terminal.

Quando o projeto se comportar da mesma forma com as extensões desativadas, verifique os próprios scripts e ferramentas do projeto, as configurações do VS Code e se o problema também ocorre em outro editor ou ambiente. Trate isso como novas pistas de diagnóstico, e não como prova definitiva de que um componente específico é o responsável.

Fontes