31

Ist es möglich, ein Projekt in Visual Studio 2008 zu öffnen, ohne alle Dateien zu öffnen, die das letzte Mal geöffnet wurden, zu dem ich das Projekt geöffnet hatte. Ich habe die Angewohnheit, viele Dateien offen zu halten, während ich daran arbeite. Wenn ich also das nächste Mal das Projekt öffne, lädt es (sehr langsam) eine Menge Dateien in den Editor, die ich vielleicht nicht einmal öffnen muss. Ich habe die Einstellungen durchsucht und kann nichts finden, um dieses Verhalten zu stoppen.Visual Studio geöffnete Dateien Frage

Antwort

27

Löschen Sie einfach die. SUO-Datei. Es enthält die Liste der geöffneten Dateien.

+1

Es sieht aus wie in 2017 die SUO ist nicht die eine Seite entlang Ihrer Lösungsdatei, sondern eher in einem speziellen .vs-Ordner im Stammverzeichnis. Löschen dieses neuen reparierte es für mich, danke! – SelAromDotNet

3

Edit: Lesen Sie die Frage zunächst völlig falsch - ignorieren Sie meine erste (jetzt weg) Antwort. :)

Ich änderte die Tastaturbelegung für CTRL-SHIFT-C von der Klassenansicht zum Schließen aller Dokumentfenster - etwas, das ich oft mehrere Größenordnungen verwende - und dann lösche ich einfach meinen Arbeitsbereich, bevor ich eine Lösung schließe .

0

Oder Sie können alle geöffneten Dokumente im Menü Fenster schließen, bevor Sie VS schließen.

2

Ich hatte auf etwas etwas mehr automatisch gehofft. VS erstellt bei jedem Speichern des Projekts eine neue .su-Datei. Also müsste ich diese Datei jedes Mal löschen, wenn ich das Projekt öffne. Ich will auch nicht daran denken, alle Dateien zu schließen, bevor ich VS schließe.

Andere IDEs, die ich verwendet habe, haben ähnliche Funktionen, aber machen es auch ziemlich einfach ein-/auszuschalten.

Danke für Ihre Hilfe.

5

Ich habe nie realisiert, wie sehr mich das auch genervt hat! Ich konnte keine Einstellung finden, aber unter Options > Environment > Keyboard können Sie eine Verknüpfung an Window.CloseAllDocuments binden. ALT+X war für mich ungebunden, also habe ich das einfach benutzt. Ich bin interessiert, wenn es eine versteckte Einstellung gibt, um dies automatisch beim Lösungsausstieg zu tun (oder zu laden).

26

Ein wenig Forschung macht die Tatsache, dass Sie es mit einem Makro tun können:

  • ein neues Makro erstellen (oder eine vorhandene verwenden). Sie sollten ein Modul namens EnvironmentEvents im Makro-Explorer sehen. (Einzelheiten finden Sie unter here.)
  • Öffnen Sie das Modul EnvironmentEvents.
  • Put in diesem Code:

    Public Sub CloseDocsOnExit() Handles SolutionEvents.BeforeClosing 
        DTE.ExecuteCommand("Window.CloseAllDocuments") 
    End Sub 
    
  • Speichern und das Makro erstellen.
  • Öffnen Sie eine ganze Reihe von Dokumenten in Ihrer Lösung und schließen Sie dann Visual Studio.
  • Yay! Keine offenen Dokumente mehr!
  • (Anmerkung: Trotz dass es SolutionEvents sagt, es funktioniert auch, wenn Sie an einem Projekt arbeiten, das keine Lösung hat.)
+0

Ausgezeichneter Tipp !! – eidylon

+0

Das hat bei mir auch funktioniert, danke! Der Befehl in Visual Studio 2005 ist jedoch: DTE.Documents.CloseAll (vsSaveChanges.vsSaveChangesPrompt) – John

+0

+1 Vielen Dank für das. –

3

Versuchen Sie Folgendes:

  1. Schließen Sie die Programm nach dem Schließen aller Dateien.
  2. Erstellen Sie eine Kopie von [was auch immer] .suo
  3. Öffnen Sie die Lösung erneut, öffnen Sie einige Dateien und beenden Sie.
  4. Kopieren Sie die alte .suo-Datei über die Datei, die gerade generiert wurde.
  5. Machen Sie die. Suo-Datei schreibgeschützt.

Wenn Sie ein Repository haben Sie könnten in die Datei überprüfen möchten.

Ich schlage vor, das, weil ich das umgekehrte Problem aufwies, wurde, wo es war nicht meine alten Dateien automatisch zu öffnen, und die Ursache war eine .suo-Datei, die in das Repository eingecheckt wurde und aus irgendeinem Grund nicht von Studio überschrieben wurde. Die Datei war nicht einmal schreibgeschützt.

-1

Die einzige Möglichkeit funktioniert für mich: Ändern Sie den Projektstandort und öffnen Sie erneut das Lösungsformular dort. :)

0

In Visual Studio 6.0 (VC++) ist die Prozedur etwas anders.

Löschen Sie die .NCB-Datei (normalerweise an derselben Stelle wie Ihre .dsp- oder .dsw-Dateien).

Verwandte Themen