Visual Studio Code rouvre toujours le fichier ou le dossier précédent


97

VSCode semble toujours se souvenir de ma session et rouvrir les fichiers et / ou le projet qui étaient ouverts la dernière fois que je l'ai utilisé. Il se comporte évidemment correctement lors de son exécution à partir de la ligne de commande avec un fichier ou un dossier fourni, mais lors de l'ouverture à partir d'un raccourci de la barre des tâches, j'aimerais qu'il soit par défaut dans un environnement vide.

Existe-t-il un moyen de modifier ce comportement?


9
Comment?? Mon VSCode ne se souvient jamais des sessions précédentes. Il s'ouvre toujours avec un tout nouvel Untitled-1onglet. Ça me rend fou
Vert

1
@Green Actuellement, il ne se souvient des fichiers précédents que si vous avez un dossier / espace de travail ouvert. Alors ouvrez simplement n'importe quel dossier aléatoire (j'ai choisi mon dossier de bureau) et maintenant il se souvient de tout fichier entre les sessions, même ceux qui ne proviennent pas de ce dossier.
Cardin

3
Un gros +1 de ma part car cette question s'est avérée être que le code VS PEUT RESTAURER la session précédente. XD Aussi en termes de ce que @Cardin déclare, les choses ont changé. J'ai le dernier code VS en cours d'exécution sur Win10 et le réglage "window.reopenFolders" : "all"ouvre chaque fichier, qu'il soit dans le répertoire actuellement actif ou non. Malheureusement, il semble que le code VS ne supporte toujours pas le fait d'avoir plusieurs répertoires actifs à cause de tout ce "répertoire actif = espace de travail".
rbaleksandar

@rbaleksandar C'est toujours négatif. VS Code ne rouvre pas les fichiers non modifiés existants à partir de la version 1.11.2, même avec "window.reopenFolders" : "all". Pour tester, 1) allez à File>Close Folder, 2) faites glisser et déposez n'importe quel fichier aléatoire dans VS Code, 3) allez à File>Exit, 4) Relancez VS Code, 5) Notez que vous obtenez à nouveau un éditeur de code VS vierge. Pour restaurer les sessions, vous devez avoir un répertoire actif ouvert. Toute session, quel que soit l'emplacement du fichier, sera mémorisée tant que vous disposez d'un répertoire actif. Btw, vous pouvez installer l' Project Managerextension pour sauter entre plusieurs répertoires actifs.
Cardin

1
Attention, vous pouvez perdre votre travail avec cette fonctionnalité , au moins dans la v1.19.3.
gman

Réponses:


136

Vous pouvez également accéder à vos paramètres et utiliser les éléments suivants:

"window.reopenFolders": "aucun"

qui ne rouvrira pas les dossiers sur lesquels vous travailliez lorsque vous avez fermé l'éditeur. Les autres options sont one(par défaut) et all.

Modifier 09/11/2017:

L'option est maintenant modifiée dans les dernières versions.

"window.restoreWindows": "none"

Voir la réponse de Mathieu DOMER .

Modifier le 12/09/2018:

Un autre paramètre lié à cela est le hotExitparamètre. Cela a été discuté dans cette réponse à une question connexe. Pour éviter la réouverture et la mémorisation des fichiers non enregistrés, vous pouvez définir ceci sur:

"files.hotExit": "off"

Mais d'après le test que j'ai effectué, lorsque le window.restoreWindowsparamètre est défini sur none, ce n'est pas nécessaire. Je n'ai pas testé toutes les combinaisons possibles, donc YMMV.

Et pour répondre à une question dans les commentaires, pour modifier les paramètres, vous devez ouvrir le fichier de paramètres. Une documentation peut être trouvée ici (au moins à la date où j'écris ceci).


1
Je change la réponse acceptée à celle-ci, car je pense que l'approche des paramètres est meilleure qu'un commutateur de ligne de commande, qui n'affecte qu'un seul raccourci.
Matt Peterson

2
Dossiers? Je n'utilise pas de dossiers. Que diriez-vous juste des fichiers?
Vert

2
Je n'ai pas d' window.reopenFoldersoption de réglage. Au lieu de cela, j'aiwindow.restoreWindows
Acidic9

2
Une chose qui pourrait en déranger certains: VS Code restaurera toujours l'espace de travail s'il contenait un onglet avec un fichier non enregistré.
Wells

1
La pire "fonctionnalité" par défaut que j'aie jamais vue. J'ai perdu beaucoup de temps de travail productif à me demander ce qui se passait et pourquoi mon fichier texte n'était pas mis à jour.
philologon

21

Avec la dernière mise à jour, il semble que le paramètre a changé, utilisez maintenant:

"window.restoreWindows": "none"

16

Vous pouvez ajouter l' -noption au démarrage de VS Code et il commencera toujours avec une fenêtre vide, ne restaurant pas votre session précédente.


2
L'option est définitivement là ( code --helpaffiche -n, --new-window Force to open a new window.) mais elle rouvre toujours toutes les fenêtres précédentes. Je pense que cela ne vise à faire quelque chose de significatif que lorsque le programme est déjà en cours d'exécution.
Álvaro González

où est la startup? Je ne trouve pas où ajouter le -n. Est-ce un fichier? Puis-je y accéder via les paramètres?
snowleopard

Seulement cela a fonctionné pour moi sur MacOs: "code -n ~ / myFolder / myCodeFolder"
Denis

13

Dans VS Code, tapez Ctrl+ ,(ou choisissez Fichier / Préférences / Paramètres ) pour ouvrir la page des paramètres, puis saisissez restoreWindowsl' entrée Paramètres de recherche pour filtrer ce paramètre. Réglez-le sur noneet redémarrez le navigateur.

restaurerWindows


1

01 décembre 2018

Cela fonctionne pour moi. c'est à dire"C:\Users\Sampath\AppData\Local\Programs\Microsoft VS Code\Code.exe" -n

entrez la description de l'image ici


1

Ci-dessous a travaillé pour moi

Cliquez avec le bouton droit sur Raccourci et ajoutez --disable-gpu à Target selon la capture d'écran.

entrez la description de l'image ici


0

Si cela "window.restoreWindows": "none"ne résout pas le problème,
essayez d'exécuter le code en tant que root -> sudo code --user-data-dirfichiers de code et redémarrez le code normalement sans root.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.