Visual Studio Code riapre sempre il file o la cartella precedente


103

VSCode sembra sempre ricordare la mia sessione e riaprire i file e / o il progetto che erano aperti l'ultima volta che l'ho usato. Ovviamente si comporta correttamente quando viene eseguito dalla riga di comando con un file o una cartella forniti, ma quando si apre da un collegamento sulla barra delle applicazioni, vorrei che fosse predefinito in un ambiente vuoto.

C'è un modo per cambiare questo comportamento?


9
Come?? Il mio VSCode non ricorda mai le sessioni precedenti. Si apre sempre con una nuova Untitled-1scheda. Mi fa impazzire
Verde

1
@Green Attualmente ricorda i file precedenti solo se hai una cartella / area di lavoro aperta. Quindi apri una qualsiasi cartella casuale (ho scelto la mia cartella sul desktop) e ora ricorda qualsiasi file tra le sessioni, anche quelli non da quella cartella.
Cardin

3
Un grosso +1 da parte mia perché questa domanda ha effettivamente rivelato che il codice VS PU RIPRISTINARE la sessione precedente. XD Anche in termini di quanto afferma @Cardin le cose sono cambiate. Ho l'ultimo codice VS in esecuzione su Win10 e l'impostazione "window.reopenFolders" : "all"apre ogni singolo file, indipendentemente dal fatto che si trovi nella directory attiva o meno. Purtroppo sembra che il codice VS non supporti ancora la presenza di più directory attive a causa di tutta quella "directory attiva = spazio di lavoro".
rbaleksandar

@rbaleksandar Questo è ancora un aspetto negativo. VS Code non riapre i file non sporchi esistenti a partire dalla versione 1.11.2, anche con "window.reopenFolders" : "all". Per testare, 1) vai su File>Close Folder, 2) trascina e rilascia qualsiasi file casuale in VS Code, 3) vai a File>Exit, 4) Riavvia VS Code, 5) Nota che ottieni di nuovo un editor VS Code vuoto. Per ripristinare le sessioni, è necessario che sia aperta una directory attiva. Qualsiasi sessione, indipendentemente dalla posizione del file, verrà ricordata finché si dispone di una directory attiva. A proposito, puoi installare l' Project Managerestensione per saltare tra più directory attive.
Cardin

1
Tieni presente che puoi perdere il lavoro con questa funzione , almeno nella v1.19.3.
gman

Risposte:


142

Puoi anche accedere alle tue impostazioni e utilizzare quanto segue:

"window.reopenFolders": "none"

che non riaprirà le cartelle su cui stavi lavorando quando hai chiuso l'editor. Le altre opzioni sono one(impostazione predefinita) e all.

Modifica 2017-11-09:

L'opzione è ora cambiata nelle ultime versioni.

"window.restoreWindows": "none"

Vedi la risposta di Mathieu DOMER .

Modifica 12/09/2018:

Un'altra impostazione correlata a questo è l' hotExitimpostazione. Questo è stato discusso in questa risposta a una domanda correlata. Per impedire la riapertura e il ricordo dei file non salvati, puoi impostare questa opzione su:

"files.hotExit": "off"

Ma dal test che ho fatto, quando l' window.restoreWindowsimpostazione è impostata su none, questo non è necessario. Non ho testato ogni possibile combinazione, quindi YMMV.

E per rispondere a una domanda nei commenti, per modificare le impostazioni, devi aprire il file delle impostazioni. Un po 'di documentazione può essere trovata qui (almeno nella data in cui scrivo questo).


1
Sto cambiando la risposta accettata a questa, poiché sento che l'approccio alle impostazioni è migliore di un interruttore della riga di comando, che influisce solo su una scorciatoia.
Matt Peterson

2
Cartelle? Non uso le cartelle. Che ne dici di solo file?
Verde

2
Non ho window.reopenFoldersun'opzione di impostazione. Invece howindow.restoreWindows
Acidic9

2
Una cosa che potrebbe infastidire alcuni: VS Code ripristinerà comunque l'area di lavoro se conteneva una scheda con un file non salvato.
Wells

1
La peggiore "caratteristica" predefinita che abbia mai visto. Ho perso molto tempo di lavoro produttivo chiedendomi cosa stesse succedendo e perché il mio file di testo non veniva aggiornato.
philologon

23

Con l'ultimo aggiornamento, sembra che il parametro sia cambiato, ora usa:

"window.restoreWindows": "none"

17

È possibile aggiungere l' -nopzione all'avvio di VS Code e inizierà sempre con una finestra vuota, non ripristinando la sessione precedente.


2
L'opzione è definitivamente presente ( code --helpdisplay -n, --new-window Force to open a new window.) ma riapre comunque tutte le finestre precedenti. Penso che abbia lo scopo di fare qualcosa di significativo solo quando il programma è già in esecuzione.
Álvaro González

dov'è la startup? Non riesco a trovare dove aggiungere -n. È un file? Posso accedervi tramite Impostazioni?
Snowleopard

Solo questo ha funzionato per me su MacOs: "code -n ~ / myFolder / myCodeFolder"
Denis

13

In VS Code, digita Ctrl+ ,(o scegli File / Preferenze / Impostazioni ) per aprire la pagina delle impostazioni, quindi digita restoreWindowsl' input delle impostazioni di ricerca per filtrare questa impostazione. Impostalo su nonee riavvia il browser.

ripristinareWindows


1

01 dicembre 2018

Questo funziona per me. cioè"C:\Users\Sampath\AppData\Local\Programs\Microsoft VS Code\Code.exe" -n

inserisci qui la descrizione dell'immagine


1

Di seguito ha funzionato per me

Fare clic con il tasto destro del mouse su Collegamento e aggiungere --disable-gpu a Target come da schermata.

inserisci qui la descrizione dell'immagine


0

Se "window.restoreWindows": "none"non risolve il problema,
prova a eseguire il codice come root -> sudo code --user-data-dirfile di codice e riavvia il codice normalmente senza root.


0

Per me, nessuno dei precedenti funziona mentre cerco di chiudere file "sporchi" non salvati che ho modificato accidentalmente 1000 file e volevo ignorare il salvataggio di tutti loro.

La mia correzione è stata l'aggiunta di questa riga in settings.json:

    "files.hotExit": "off"

Apri vscode, chiudi vscode e fai clic sul pulsante di conferma per chiudere tutti i file senza salvare.

Quindi riapri vscode e boom .. non vengono più visualizzati file non salvati.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.