Freigeben über


Tipps und Tricks zu Visual Studio-Leistung

Visual Studio-Leistungsempfehlungen sind für Situationen mit geringem Arbeitsspeicher vorgesehen, die in seltenen Fällen auftreten können. In diesen Situationen können Sie bestimmte Visual Studio-Features optimieren, die Sie möglicherweise nicht verwenden. Die folgenden Tipps sind nicht als allgemeine Empfehlungen vorgesehen.

Anmerkung

Wenn Sie Probleme mit der Verwendung des Produkts aufgrund von Speicherproblemen haben, lassen Sie es uns über das Feedback-Toolwissen.

Verwenden eines 64-Bit-Betriebssystems

Wenn Sie Ihr System von einer 32-Bit-Version von Windows auf eine 64-Bit-Version aktualisieren, erweitern Sie die Menge an virtuellem Arbeitsspeicher, der für Visual Studio von 2 GB auf 4 GB verfügbar ist. Mit einem 64-Bit-Betriebssystemupgrade kann Visual Studio größere Workloads verarbeiten.

Weitere Informationen finden Sie unter Arbeitsspeicherbeschränkungen für Windows- und Windows Server-Versionen.

Tipp

Visual Studio 2022 unter Windows ist eine 64-Bit-Anwendung. Frühere Versionen sind 32-Bit.

Deaktivieren der automatischen Dateiwiederherstellung

Visual Studio öffnet Dokumente, die in der vorherigen Sitzung geöffnet waren, automatisch erneut. Diese automatische Dateiwiederherstellungsaktion kann die zum Laden einer Lösung benötigte Zeit je nach Projekttyp und geöffneten Dokumenten um bis zu 30% oder mehr verlängern. Designer wie Windows Forms und XAML und einige JavaScript- und TypeScript-Dateien können langsam geöffnet werden.

Visual Studio benachrichtigt Sie in einer gelben Leiste, wenn die automatische Dokumentwiederherstellung dazu führt, dass eine Lösung langsamer geladen wird. Sie können das automatische Wiederöffnen von Dateien deaktivieren, indem Sie die folgenden Schritte ausführen:

  1. Wählen Sie Extras>Optionen aus, um das Dialogfeld Optionen zu öffnen.

  2. Deaktivieren Sie auf der Seite Projekte und Projektmappen >Allgemein das Kontrollkästchen Dokumente beim Laden der Projektmappe erneut öffnen.

Wenn Sie die automatische Dateiwiederherstellung deaktivieren, können Sie schnell zu Dateien navigieren, die Sie öffnen möchten, indem Sie einen der befehle Gehe zu verwenden:

  • Für die allgemeine Gehe zu-Funktionalität klicken Sie auf Bearbeiten>Gehe zu>Gehe zu allen, oder drücken Sie STRG+T.

  • Wechseln Sie in einer Projektmappe direkt zum Speicherort der letzten Bearbeitung, indem Sie auf Bearbeiten>Gehe zu>Zum Speicherort der letzten Bearbeitung wechseln bzw. STRG+UMSCHALT+RÜCK drücken.

  • Verwenden Sie Zuletzt verwendete Datei anzeigen, um eine Liste der zuletzt angezeigten Dateien in einer Projektmappe anzuzeigen. Wählen Sie Bearbeiten>Gehe zu>Gehe zu zuletzt verwendeter Datei, oder drücken Sie STRG+1, STRG+R.

Konfigurieren von Debugoptionen

Wenn Sie während der Debugsitzungen normalerweise zu wenig Arbeitsspeicher haben, können Sie die Leistung optimieren, indem Sie eine oder mehrere Einstellungen ändern.

  • Nur meinen Code aktivieren

    Die einfachste Optimierung besteht darin, das Just My Code Feature zu aktivieren, das nur Symbole für Ihr Projekt lädt. Das Aktivieren dieses Features kann zu einer erheblichen Speichereinsparung für das Debuggen verwalteter Anwendungen (.NET) führen. Diese Option ist in einigen Projekttypen bereits standardmäßig aktiviert.

    Um Nur eigenen Code zu aktivieren, wählen Sie Extras>Optionen>Debuggen>Allgemein und anschließend Nur eigenen Code aktivieren aus.

  • Angeben von Symbolen zum Laden von

    Für das systemeigene Debuggen ist das Laden von Symboldateien (.pdb) in Bezug auf Speicherressourcen teuer. Sie können Die Debuggersymboleinstellungen konfigurieren, um Arbeitsspeicher zu sparen. In der Regel konfigurieren Sie die Lösung so, dass nur Module aus Ihrem Projekt geladen werden.

    Wählen Sie zum Laden von Symbolen Extras>Optionen>Debuggen>Symbole aus.

    Legen Sie die Optionen auf Nur angegebene Module laden anstelle von Alle Module laden fest, und geben Sie die Module an, die geladen werden sollen. Beim Debuggen können Sie auch mit der rechten Maustaste auf bestimmte Module im Module Fenster klicken, um ein Modul explizit in das Symbolladefenster einzuschließen. (Um das Fenster beim Debuggen zu öffnen, wählen Sie Debuggen>Windows>Modulesaus.)

    Weitere Informationen finden Sie unter Angeben von Symbol- und Quelldateien im Debugger.

  • Diagnosetools deaktivieren

    Es wird empfohlen, die CPU-Profilierung nach der Verwendung abzuschalten. Dieses Feature kann große Mengen von Ressourcen verbrauchen. Sobald die CPU-Profilerstellung aktiviert ist, wird dieser Zustand in nachfolgenden Debugsitzungen beibehalten, daher lohnt es sich, ihn explizit zu deaktivieren, wenn sie abgeschlossen ist. Sie können einige Ressourcen speichern, indem Sie die Diagnosetools beim Debuggen deaktivieren, wenn Sie die bereitgestellten Features nicht benötigen.

    Um die Diagnosetools zu deaktivieren, starten Sie eine Debugsitzung, wählen Sie Extras>Optionen>Debuggen>Allgemein aus, und deaktivieren Sie dann die Option Diagnosetools während des Debuggens aktivieren.

    Weitere Informationen finden Sie unter Profilerstellungstools.

Deaktivieren von Tools und Erweiterungen

Einige Tools oder Erweiterungen können deaktiviert werden, um die Leistung zu verbessern.

Tipp

Sie können Leistungsprobleme häufig isolieren, indem Sie Erweiterungen einzeln deaktivieren und die Leistung erneut überprüfen.

Verwalteter Sprachdienst (Roslyn)

Informationen zu Leistungsüberlegungen der .NET-Compilerplattform ("Roslyn") finden Sie unter Überlegungen zur Leistung für große Lösungen.

  • CodeLens- deaktivieren

    Visual Studio führt einen Task Alle Verweise suchen für jede Methode aus, während sie angezeigt wird. CodeLens stellt Features wie die Inlineanzeige der Anzahl der Verweise bereit. Die Arbeit erfolgt in einem separaten Prozess wie ServiceHub.RoslynCodeAnalysisService32. In großen Lösungen oder auf ressourceneinschränkten Systemen kann dieses Feature erhebliche Auswirkungen auf die Leistung haben. Wenn Arbeitsspeicherprobleme auftreten, z. B. beim Laden einer großen Lösung auf einem 4-GB-Computer oder bei hoher CPU-Auslastung für diesen Prozess, können Sie CodeLens deaktivieren, um Ressourcen freizugeben.

    Um CodeLenszu deaktivieren, wählen Sie Tools>Optionen>Text-Editor>Alle Sprachen>CodeLensaus, und deaktivieren Sie die Funktion.

    Weitere Informationen finden Sie unter Ermitteln von Änderungen am Code und andere Verläufe mit CodeLens.

Weitere Tools und Erweiterungen

  • Erweiterungen deaktivieren

    Erweiterungen sind zusätzliche Softwarekomponenten, die Visual Studio hinzugefügt werden, die neue Funktionen bereitstellen oder vorhandene Funktionen erweitern. Erweiterungen können häufig eine Quelle von Speicherressourcenproblemen sein. Wenn Speicherressourcenprobleme auftreten, versuchen Sie, Erweiterungen einzeln zu deaktivieren, um zu sehen, wie sich dies auf das Szenario oder den Workflow auswirkt.

    Um Erweiterungen zu deaktivieren, wechseln Sie zu Erweiterungen>Verwalten von Erweiterungen, und deaktivieren Sie eine bestimmte Erweiterung.

  • Kartenmodus deaktivieren

    Zuordnungsmodus zeigt Codezeilen in Miniaturansicht auf der Scrollleiste an. Der Kartenmodus ist standardmäßig aktiviert.

    Um den Kartenmodus zu deaktivieren, wechseln Sie zu Tools>Optionen>Text-Editor>Alle Sprachen>Bildlaufleisten, und deaktivieren Sie im Abschnitt Verhalten die Option Kartenmodus für vertikale Bildlaufleiste verwenden.

  • Deaktivieren des Zeilenumbruchs

    Zeilenumbruch zeigt den Teil einer langen Codezeile an, der sich über die aktuelle Breite des Code-Editor-Fensters erstreckt Zeilenumbruch ist standardmäßig aktiviert.

    Um den Zeilenumbruch für ein Projekt zu deaktivieren, an dem Sie aktuell arbeiten, navigieren Sie zu Bearbeiten>Erweitert>Zeilenumbruch. (Sie können diese Einstellung mithilfe der gleichen Menübefehle umschalten.)

    Um den Wortumbruch für alle Projekte zu deaktivieren, wechseln Sie zu Tools>Optionen>Allgemein>Text-Editor>Alle Sprachen>Allgemein, und deaktivieren Sie im Abschnitt Einstellungen die Option Wortumbruch.

  • Deaktivieren des XAML-Designers

    Der XAML-Designer ist standardmäßig aktiviert, verbraucht jedoch nur Ressourcen, wenn Sie eine XAML--Datei öffnen. Wenn Sie mit XAML-Dateien arbeiten, die Designerfunktionalität jedoch nicht verwenden möchten, deaktivieren Sie dieses Feature, um Speicherplatz freizugeben.

    Um den XAML-Designer zu deaktivieren, navigieren Sie zu Extras>Optionen>XAML-Designer>XAML-Designer aktivieren, und deaktivieren Sie die Option.

  • Arbeitslasten entfernen

    Sie können visual Studio Installer verwenden, um Arbeitslasten zu entfernen, die nicht mehr verwendet werden. Diese Aktion kann die Start- und Laufzeitkosten optimieren, indem Pakete und Assemblys übersprungen werden, die nicht mehr benötigt werden.

  • Hinzufügen nicht nachverfolgter Dateien zur lokalen GITIGNORE-Datei

    Visual Studio führt den Git-Befehl git status mit nicht nachverfolgten Dateien aus, um ein nahtloses Erlebnis zu bieten, wenn Sie einem Repository neue Dateien hinzufügen. Wenn eine große Anzahl nicht nachverfolgter Dateien vorhanden ist, kann git status zusätzlichen Arbeitsspeicher verbrauchen. Um diese Dateien zu ignorieren und die Leistung von git statuszu verbessern, können Sie diese Dateien oder Ordner zu Ihrer lokalen Gitignore-Datei hinzufügen. Um auf die Datei zuzugreifen, wechseln Sie zu Git>Einstellungen>Git Repository-Einstellungen. Wählen Sie dann im Abschnitt Git-DateienHinzufügen aus, um eine Gitignore-Datei zu erstellen, oder wählen Sie Bearbeiten aus, wenn Sie bereits eine haben.

  • Aktivieren des Commitdiagramms in Git-Tools

    Neu in Visual Studio 2022 Version 17.2: Wenn beim Anzeigen des Git-Repositorys oder des Verzweigungsverlaufs in Visual Studio Verzögerungen auftreten, haben wir das Feature "Commit-Graph" integriert, das Ihnen helfen kann. Um die Funktion „Diagramm committen“ verwenden zu können, müssen Sie Visual Studio 2022 herunterladen und installieren. Weitere Informationen zu „Diagramm committen“ finden Sie im Blogbeitrag Optimieren Sie Ihre Git-Erfahrung in Visual Studio.

Erzwingen einer Garbage Collection

Die CLR verwendet eine Arbeitsspeicherverwaltungssystem mit Garbage Collection. In diesem System wird manchmal Speicher von Objekten belegt, die nicht mehr benötigt werden. dieser Zustand ist vorübergehend; der Garbage Collector gibt diesen Speicher basierend auf seinen leistungsbezogenen und ressourcennutzungsbezogenen Heuristiken frei. Sie können erzwingen, dass der CLR nicht verwendete Arbeitsspeicher mithilfe eines Hotkeys in Visual Studio sammelt. Wenn die Menge an nicht verwendeten Objekten bereits sehr groß ist und Sie eine GC erzwingen, sollten Sie im Task-Manager sehen können, wie die Speicherauslastung des Prozesses devenv.exe abnimmt. Es ist selten erforderlich, diese Methode zu verwenden. Nachdem jedoch ein teurer Vorgang abgeschlossen wurde (z. B. ein vollständiges Build, eine Debugsitzung oder ein ereignis zum Öffnen einer Lösung), kann es Ihnen helfen, zu bestimmen, wie viel Arbeitsspeicher tatsächlich vom Prozess verwendet wird. Da Visual Studio (verwaltet & nativ) kombiniert wird, ist es gelegentlich möglich, dass die native Zuweisung und der Garbage Collector um begrenzte Arbeitsspeicherressourcen konkurrieren. Bei hoher Arbeitsspeicherauslastung kann es hilfreich sein, die Ausführung des Garbage Collectors zu erzwingen.

Um eine GC zu erzwingen, verwenden Sie diese Tastenkombination: STRG+ALT+UMSCHALTTASTE+F12, STRG+ALT+UMSCHALTTASTE+F12 (zweimal drücken).

Wenn das Erzwingen der Garbage Collection zuverlässig dazu führt, dass Ihr Szenario funktioniert, sollten Sie über das Visual Studio-Feedbacktool einen Bericht einreichen, da dieses Verhalten wahrscheinlich ein Fehler ist.

Eine ausführliche Beschreibung der CLR-GC finden Sie unter Grundlagen der GC.