Desinstalar o VS Code no Mac sem perder ajustes
Arrastar o Visual Studio Code para o Lixo remove o editor e nada da sua configuração. Isso é deliberado, está documentado, e é o motivo de a maioria das pessoas encontrar o VS Code exatamente como deixou depois de uma reinstalação que esperavam que consertasse alguma coisa.
Se você está desinstalando para começar do zero, o app é a parte que não importa.
Então decida o que a próxima instalação deve lembrar. Mover o Visual Studio Code para o Lixo mantém a configuração. Remover os locais de estado do usuário recomeça do zero, e isso só é útil depois de conferir a Sincronização de Configurações e guardar o que você não consegue recriar.
A configuração mora fora do app
O guia de desinstalação limpa do VS Code separa a remoção do app da remoção do estado do usuário. No macOS, o estado fica fora do bundle do aplicativo:
~/Library/Application Support/Code
~/.vscode-shared
~/.vscode
O primeiro guarda ajustes, atalhos de teclado, estado do workspace e dados gravados por extensões.
O último guarda as próprias extensões. O guia atual também lista .vscode-shared.
Ele pode não existir em todo Mac, mas entra num reset completo quando estiver presente.
A documentação é explícita sobre o que removê-los faz: devolve você ao estado de antes de instalar o VS Code e zera todos os ajustes. Essa é a descrição correta de um reset de fábrica, e o resultado errado se você só queria consertar uma janela travada.
Decida primeiro qual resultado você quer
Três trabalhos diferentes recebem o nome de desinstalar, e cada um pede uma quantidade diferente de exclusão.
Reinstalar para consertar uma build quebrada: remova só o app. Tudo volta. Se o problema estava nos ajustes ou numa extensão, isso não resolve nada, e esse é o desfecho mais comum.
Começar com um editor limpo: remova o app e os locais de estado listados. Exporte os ajustes antes, se quiser algum deles de volta.
Liberar espaço: não remova nenhum dos dois. O espaço quase sempre está em caches por projeto, não no editor, e existe um artigo separado para isso.
A sincronização decide por você
Se a Sincronização de Configurações estiver ligada e com sessão numa conta GitHub ou Microsoft, seus ajustes, atalhos, snippets e a lista de extensões ficam nessa conta. Isso reduz o risco de um reset, mas não faz backup de todo arquivo local que uma extensão grava.
Se a Sincronização de Configurações estiver desligada, esses locais de estado podem ser o único registro. Um settings.json
ajustado ao longo de dois anos é um arquivo que você escreveu, não um cache, e nada mais tem uma cópia.
Confira antes de apagar. Fica no menu da conta, na base da barra de atividades, e leva menos tempo olhar do que ler esta frase.
Exporte a lista de extensões mesmo se for apagar tudo
code --list-extensions > ~/Desktop/vscode-extensions.txt
Isso funciona enquanto o VS Code ainda está instalado e transforma a reconstrução num laço, não
num exercício de memória. Se o comando code não estiver no PATH, o VS Code o instala pela
paleta de comandos, em Shell Command.
A ferramenta de linha de comando e os resíduos
Remover o app deixa o comando de shell code apontando para um bundle que não
existe mais, junto com os caches, registros e o estado salvo do aplicativo de sempre. Esses são
descartáveis em qualquer caso.
Artefatos por projeto não fazem parte disto. Uma pasta .vscode dentro de um repositório
pertence àquele projeto e viaja com ele no controle de versão. Remover o editor
não deve tocá-la.
Ver o tamanho antes de decidir
Esses locais de estado crescem em silêncio. Hosts de extensão guardam language servers em cache, e algumas extensões mantêm índices que chegam a gigabytes, o que em geral é a resposta real para a pegada do editor ser maior que o editor.
O Mole mostra os locais de estado relacionados com os tamanhos ao lado do app, então a diferença entre um cache de extensão que vale limpar e um diretório de ajustes que vale guardar fica visível antes de qualquer coisa se mover. As remoções vão para o Lixo, que é o lugar certo para um diretório que você pode descobrir que queria uma hora depois.
O que a Sincronização de Configurações leva, e o que não leva
Ela leva ajustes, atalhos de teclado, snippets do usuário, a lista de extensões e parte do estado da interface. Entre na mesma conta em outra máquina e isso volta sozinho.
Ela não leva o estado no nível do workspace, nem os dados que as extensões gravam no disco. Um
.vscode/settings.json dentro de um repositório viaja com esse repositório e
não é assunto dela, e índices de extensão, caches de language server e o estado de
login também não acompanham, então uma extensão reinstalada ainda pode precisar ser configurada
de novo.
O menu da conta na base da barra de atividades mostra o estado atual. Se ele disser que você está conectado e mostrar um horário de sincronização, o subconjunto sincronizado pode ser restaurado depois de um reset. Dados locais de extensão ainda precisam do próprio backup. Sem a sincronização, inspecione cada local de estado como se fosse a única cópia.
O que o Mole lista para este app, e o que ele deixa quieto, está em Desinstalar o VS Code no Mac.