Visual Studio Code öffnet immer die vorherige Datei oder den vorherigen Ordner

96

VSCode scheint sich immer an meine Sitzung zu erinnern und die Dateien und / oder Projekte erneut zu öffnen, die bei der letzten Verwendung geöffnet waren. Es verhält sich offensichtlich korrekt, wenn es über die Befehlszeile mit einer mitgelieferten Datei oder einem Ordner ausgeführt wird. Wenn Sie es jedoch über eine Verknüpfung in der Taskleiste öffnen, möchte ich, dass standardmäßig eine leere Umgebung verwendet wird.

Gibt es eine Möglichkeit, dieses Verhalten zu ändern?

Matt Peterson
quelle
9
Wie?? Mein VSCode erinnert sich nie an frühere Sitzungen. Es wird immer mit einem brandneuen Untitled-1Tab geöffnet . Es macht mich verrückt
Green
1
@Green Derzeit werden frühere Dateien nur gespeichert, wenn Sie einen Ordner / Arbeitsbereich geöffnet haben. Öffnen Sie einfach einen beliebigen Ordner (ich habe meinen Desktop-Ordner ausgewählt) und jetzt werden alle Dateien zwischen den Sitzungen gespeichert, auch diejenigen, die nicht aus diesem Ordner stammen.
Cardin
3
Ein großes Fett +1 von mir, weil diese Frage tatsächlich ergab, dass VS-Code die vorherige Sitzung wiederherstellen kann. XD Auch in Bezug auf die Aussagen von @Cardin haben sich die Dinge geändert. Ich habe den neuesten VS-Code unter Win10 und die Einstellung "window.reopenFolders" : "all"öffnet jede einzelne Datei, egal ob sie sich im aktuell aktiven Verzeichnis befindet oder nicht. Leider scheint es, dass VS-Code immer noch nicht mehrere aktive Verzeichnisse unterstützt, da "Active Directory = Arbeitsbereich".
Rbaleksandar
@rbaleksandar Das ist immer noch negativ. VS Code öffnet vorhandene nicht verschmutzte Dateien ab Version 1.11.2 auch mit nicht erneut "window.reopenFolders" : "all". Zum Testen: 1) Gehe zu File>Close Folder, 2) Ziehen und Ablegen einer beliebigen zufälligen Datei in VS Code, 3) Gehe zu File>Exit, 4) Neustarten von VS Code, 5) Beachten Sie, dass Sie erneut einen leeren VS Code-Editor erhalten. Um Sitzungen wiederherzustellen, muss ein Active Directory geöffnet sein. Jede Sitzung, unabhängig vom Speicherort der Datei, wird gespeichert, solange Sie über ein Active Directory verfügen. Übrigens können Sie die Project ManagerErweiterung installieren, um zwischen mehreren aktiven Verzeichnissen zu wechseln.
Cardin
1
Beachten Sie , dass Sie mit dieser Funktion zumindest in Version 1.19.3 möglicherweise die Arbeit verlieren .
Gman

Antworten:

132

Sie können auch in Ihre Einstellungen gehen und Folgendes verwenden:

"window.reopenFolders": "none"

Dadurch werden die Ordner, an denen Sie beim Schließen des Editors gearbeitet haben, nicht erneut geöffnet. Die anderen Optionen sind one(Standardeinstellung) und all.

Bearbeiten 2017-11-09:

Die Option wurde jetzt in den neuesten Versionen geändert.

"window.restoreWindows": "none"

Siehe die Antwort von Mathieu DOMER .

Bearbeiten 2018-09-12:

Eine weitere diesbezügliche Einstellung ist die hotExitEinstellung. Dies wurde in dieser Antwort auf eine verwandte Frage diskutiert . Um zu verhindern, dass nicht gespeicherte Dateien erneut geöffnet und gespeichert werden, können Sie Folgendes festlegen:

"files.hotExit": "off"

Aber von dem Test, den ich gemacht habe, wenn die window.restoreWindowsEinstellung auf eingestellt istnone , wird dies nicht benötigt ist. Ich habe nicht jede mögliche Kombination getestet, also YMMV.

Um eine Frage in den Kommentaren zu beantworten und die Einstellungen zu bearbeiten, müssen Sie die Einstellungsdatei öffnen. Einige Dokumentationen finden Sie hier (zumindest zu dem Zeitpunkt, an dem ich dies schreibe).

ghlecl
quelle
1
Ich ändere die akzeptierte Antwort auf diese, da ich der Meinung bin, dass der Einstellungsansatz besser ist als ein Befehlszeilenschalter, der nur die eine Verknüpfung betrifft.
Matt Peterson
2
Ordner? Ich benutze keine Ordner. Wie wäre es nur mit Dateien?
Grün
2
Ich habe keine window.reopenFoldersEinstellungsoption. Stattdessen habe ichwindow.restoreWindows
Acidic9
2
Eine Sache, die einige stören könnte: VS Code stellt den Arbeitsbereich immer noch wieder her, wenn er eine Registerkarte mit einer nicht gespeicherten Datei enthält.
Wells
1
Die schlechteste Standardfunktion, die ich je gesehen habe. Ich habe viel produktive Arbeitszeit verloren und mich gefragt, was los ist und warum meine Textdatei nicht aktualisiert wird.
Philologon
20

Mit dem letzten Update scheint sich der Parameter geändert zu haben. Verwenden Sie jetzt:

"window.restoreWindows": "none"
Mathieu DOMER
quelle
16

Sie können die -nOption zum Start von VS Code hinzufügen. Sie beginnt immer mit einem leeren Fenster und stellt Ihre vorherige Sitzung nicht wieder her.

Benjamin Pasero
quelle
2
Die Option ist definitiv vorhanden (wird code --helpangezeigt -n, --new-window Force to open a new window.), öffnet jedoch weiterhin alle vorherigen Fenster. Ich denke, es ist nur dazu gedacht, etwas Sinnvolles zu tun, wenn das Programm bereits läuft.
Álvaro González
Wo ist der Start? Ich kann nicht finden, wo ich das -n hinzufügen soll. Ist es eine Datei? Kann ich über Einstellungen darauf zugreifen?
Snowleopard
Nur das funktionierte für mich auf MacOs: "code -n ~ / myFolder / myCodeFolder"
Denis
13

In VS - Code, geben Sie Ctrl+ ,(oder wählen Sie Datei / Einstellungen / Einstellungen ) , um die Einstellungsseite zu öffnen, und geben Sie restoreWindowsin das Sucheinstellungen eingegeben Filter für diese Einstellung. Stellen Sie es ein noneund starten Sie den Browser neu.

restoreWindows

RedFilter
quelle
1

01. Dezember 2018

Das funktioniert bei mir. dh"C:\Users\Sampath\AppData\Local\Programs\Microsoft VS Code\Code.exe" -n

Geben Sie hier die Bildbeschreibung ein

Sampath
quelle
1

Unten hat für mich gearbeitet

Klicken Sie mit der rechten Maustaste auf Shortcut und fügen Sie --disable-gpu gemäß Screenshot zu Target hinzu.

Geben Sie hier die Bildbeschreibung ein

Vatsal Shah
quelle
0

Wenn Sie "window.restoreWindows": "none"das Problem nicht lösen,
versuchen Sie, Code als root -> sudo code --user-data-dirCodedateien auszuführen und den Code normal ohne root neu zu starten.

Khaled Alam
quelle
0

Der kurze Weg besteht darin, in das Verzeichnis der Anwendung zu gehen, es vollständig zu löschen und die Anwendung erneut zu installieren!

Abdulkarim Kanaan
quelle