Reimpostare o rimuovere VS Code senza perdere la configurazione
Trascinare Visual Studio Code nel Cestino toglie l'editor e lascia intatta la configurazione. È voluto, documentato, ed è il motivo per cui la maggior parte delle persone ritrova VS Code esattamente come l'aveva lasciato dopo una reinstallazione con cui speravano di risolvere qualcosa.
Se disinstalli per ripartire da zero, dell'app puoi fare a meno.
La tua configurazione sta in due directory
VS Code conserva lo stato utente fuori dal bundle dell'applicazione:
~/Library/Application Support/Code
~/.vscode
La prima contiene impostazioni, scorciatoie da tastiera, stato delle aree di lavoro e l'archivio di tutto ciò che un'estensione ha salvato. La seconda contiene le estensioni stesse.
La documentazione spiega chiaramente cosa succede se le rimuovi: ti riporta allo stato precedente all'installazione di VS Code e reimposta tutte le impostazioni. È la descrizione corretta di un ripristino di fabbrica, ma il risultato sbagliato se volevi solo sbloccare una finestra bloccata.
Decidi prima cosa vuoi ottenere
Tre operazioni diverse vengono chiamate disinstallazione, e ognuna elimina cose diverse.
Reinstallare per sistemare una build rotta: rimuovi solo l'app. Torna tutto. Se il problema era nelle impostazioni o in un'estensione, non ottieni nulla, ed è il risultato abituale.
Partire da un editor pulito: rimuovi l'app e entrambe le directory. Esporta prima le impostazioni se ne vuoi tenere qualcuna.
Liberare spazio: non rimuovere nessuna delle due. Lo spazio è quasi sempre nelle cache per progetto piuttosto che nell'editor, e c'è un articolo a parte per quello.
Settings Sync decide al posto tuo
Se Settings Sync è attivo e sei connesso a un account GitHub o Microsoft, impostazioni, scorciatoie da tastiera, snippet e elenco delle estensioni sono salvati in quell'account. Eliminare entrambe le directory è allora sicuro: accedere su un'installazione nuova le ripristina.
Se Settings Sync è disattivato, le due directory sono l'unica traccia. Un settings.json curato per due anni è un file che hai scritto tu, non una cache, e non ne esiste un'altra copia.
Controlla prima di eliminare. Si trova nel menu dell'account in fondo alla barra delle attività, e ci vuole più tempo a leggere questa frase che a dare un'occhiata.
Esporta l'elenco delle estensioni anche se elimini tutto
code --list-extensions > ~/Desktop/vscode-extensions.txt
Funziona finché VS Code è ancora installato e trasforma la ricostruzione in una procedura ripetibile invece di un esercizio di memoria. Se il comando code non è nel path, VS Code lo installa dalla Palette comandi, voce Shell Command.
Lo strumento da riga di comando e i residui
Rimuovere l'app lascia il comando shell code che punta a un bundle che non esiste più, insieme alle solite cache, log e allo stato salvato dell'applicazione. Quelli si buttano via in ogni caso.
I file legati al progetto non c'entrano per niente. Una cartella .vscode dentro un repository appartiene a quel progetto e lo segue nel controllo di versione; rimuovere l'editor non dovrebbe toccarla.
Vedere le dimensioni prima di decidere
Le due directory di stato crescono senza farsi notare. Gli host delle estensioni mettono in cache i language server, e alcune estensioni tengono indici che arrivano ai gigabyte: di solito è da lì che lo spazio occupato dall'editor supera l'editor stesso.
Mole mostra entrambe le directory con le loro dimensioni accanto all'app, così la differenza tra una cache di estensione da svuotare e una directory di impostazioni da conservare è visibile prima di toccare qualsiasi cosa. Le rimozioni finiscono nel Cestino, che è il posto giusto per una directory di cui potresti aver bisogno un'ora dopo.
Cosa porta Settings Sync e cosa no
Porta le impostazioni, le scorciatoie da tastiera, gli snippet utente, l'elenco delle estensioni e alcuni stati dell'interfaccia. Accedi con lo stesso account su un'altra macchina e questi tornano da soli.
Non porta lo stato dell'area di lavoro, né i dati che le estensioni scrivono su disco. Un
.vscode/settings.json all'interno di un repository viaggia con quel repository e non
è affar suo, e gli indici delle estensioni, le cache dei language server e lo stato di accesso
non lo seguono: un'estensione reinstallata potrebbe comunque dover essere configurata di nuovo.
Il menu account in fondo alla barra delle attività mostra lo stato corrente. Se indica che sei connesso e mostra un orario di sincronizzazione, quelle due directory si possono eliminare senza rischi. Se indica che non lo sei, sono l'unica copia.