Visual Studio 2019 configuration

My personal extension recommendations and prepared settings of text formatting, code clean-up, and UI layout for a productive work environment.

Please bring about 15 minutes to read this page in peace.

Jeder erfahrene Softwareentwickler hat wohl auch seine eigenen Vorlieben, wie die Entwicklungsumgebung eingerichtet ist. Diesen Eindruck bekommt man, wenn man sich unter seinen Kollegen so umschaut. Im täglichen Betrieb stellt sich dann aber nicht selten heraus, dass einfach nur alles an dem Platz ist, an dem es neulich zufällig gelandet ist. Debug-Ansichten öffnen und schließen sich scheinbar wahllos oder hängen in irgendeiner Ecke des Bildschirms fest. Manches ist permanent im Weg, anderes immer zu weit weg.

„Wo waren gleich nochmal die Threads? Und alle Haltepunkte?
Warum sehe ich das Ausgabefenster schon wieder nicht?
Und wer hat eigentlich die Suchergebnisse bestellt, steht doch eh nichts drin?“

Es mag vielen unnötig erscheinen, aber wer sich um die Anordnung seiner Werkzeuge einmal ein paar Gedanken macht, und sie dann auch immer wieder in die ihnen zugedachte Ecke zurückschiebt, der kann deutlich produktiver arbeiten. Alles steht da, wo man sich bald daran gewöhnt hat und ganz automatisch kurz hinschaut. Die wichtigsten Ansichten sind gleich zur Hand und müssen nicht erst in Menüs gesucht werden.

Andere Einstellungen können zu echten Ärgernissen werden, wenn Code in einer gemeinsamen Quelltextverwaltung abgelegt wird. Dazu gehören vor allem die Textformatierung und Einstellungen zur Codebereinigung, sofern überhaupt verwendet. Leerzeichen oder Tabs, Klammern auf einer Einrückungsebene oder irgendwo weiter rechts, usw. In der Versionsverwaltung werden Abschnitte, die verändert und mit abweichender Formatierung vermeintlich zurückgeändert wurden, deutlich sichtbar und erschweren das Erkennen der wesentlichen Änderungen. Gerade in einem Team ist es erforderlich, sich abzustimmen. Aber auch für einen selbst kann die Einhaltung bestimmter Konventionen eine Erleichterung beim Lesen bedeuten, was letztlich zu weniger Fehlern und schnellerer Bearbeitung führt. (Zumindest geht es mir so.)

Falls dir diese Aspekte völlig gleichgültig sind und bestimmt niemand mehr deinen Code lesen wird, brauchst du hier nicht weiterlesen. Ansonsten können die Erweiterungen und Einstellungen, die auf dieser Seite vorgestellt werden, dabei helfen, die Produktivität mit C#-Projekten in Visual Studio 2019 zu erhöhen.

Ich nutze diese Einstellungen selbst und biete sie hier für andere an, um sie als Vorlage für eine praktische Grundeinrichtung zu nutzen. Meine Konfiguration ist nicht fundamental anders als die Standardwerte, die die meisten Entwickler sowieso schon verwenden. Es sind mehr Detailoptimierungen, die dieses Gesamtpaket ausmachen.

Konfiguration für andere Versionen von Visual Studio? Weiter zur Beschreibung für die Version 2017, Version 2015, Version 2013 oder Version 2010

Extra: Tastaturbedienung

Kannst du auch deine Finger nicht von der Tastatur lassen? Meist geht das einfach schneller, als erst die Maus zu suchen, dann den Mauszeiger, ihn dann noch exakt zu platzieren und auf ein Menü zu warten. Funktionen, die man alle paar Minuten braucht, lassen sich nach einer Weile auch gut mit ihrer Tastenkombination einprägen. Hier eine Übersicht der wichtigsten Tastaturbefehle:

VS2019-Tastaturbefehle.pdf97 KiBÜbersicht nützlicher Tastaturbefehle in Visual Studio 2019

Übersicht

Mit den folgenden Schritten wird deine Visual-Studio-Umgebung eingerichtet:

1. Visual Studio installieren
2. Erweiterungen installieren
3. Einstellungen importieren
4. CodeMaid-Einstellungen importieren
5. Snippets importieren (optional)

1. Visual Studio installieren

Die Installation von Visual Studio 2019 ist einfach. Wähle nur die Funktionsbereiche aus, die du nutzen möchtest. Die erforderlichen Dateien werden automatisch aus dem Internet heruntergeladen. Das benötigt je nach ausgewählten Optionen mindestens 3 GB Speicherplatz und dauert zwischen 15 Minuten und 2 Stunden.

Nach der Installation wird Visual Studio gestartet. Melde dich mit einem Microsoft-Konto an oder aktiviere Visual Studio mit einem Produktschlüssel, falls vorhanden. Bestätige dann beim ersten Start die „Allgemeinen“ Einstellungen.

2. Erweiterungen installieren

Ich nutze und empfehle eine Reihe von Extensions für Visual Studio, die bestimmte Aufgaben übernehmen oder erleichtern bzw. zusätzliche Informationen besser darstellen.

extensions.vsext2.0 KiBVisual-Studio-2019-Erweiterungen
  • Oben angegebene Datei herunterladen
  • Extension Manager 2019 installieren (dort auf „Download“ klicken und der Installation folgen)
  • Visual Studio starten („Ohne Code fortfahren“)
  • Menü „Erweiterungen; Import and Export Extensions; Import Extensions...“
  • Die heruntergeladene Datei auswählen
  • Zu installierende Extensions prüfen, „Install“

Hinweis: Die Initialisierung dauert ein paar Minuten. Außerdem muss Visual Studio beendet werden.

Liste der Erweiterungen mit Kurzbeschreibung zur manuellen Installation

Zunächst muss Visual Studio beendet werden. Die Erweiterungen können direkt heruntergeladen und jeweils als eigenständiges Setup ausgeführt werden.

Allgemeine Erweiterungen

  • CodeMaid
    Bereinigt Quelltexte anhand von Vorgaben automatisch, auch für die gesamte Projektmappe. Praktisch für importierten oder alten Code. (Weiter unten gibt es noch eine Konfigurationsdatei dafür.)
  • File Icons
    Dateisymbole für viele zusätzliche Dateitypen, um sie leichter zu erkennen.
  • ILSpy
    Integriert den ILSpy-Decompiler in Visual Studio. Da ILSpy keinen separaten Installer anbietet, ist diese Form auch die einfachste Installation.
  • Solution Error Visualizer
    Markiert Projekte, Verzeichnisse und Dateien im Projektmappen-Explorer, in denen Build-Fehler oder Warnungen auftreten, und zeigt diese im Tooltip an.
  • TGit
    Zugang zu TortoiseGit-Funktionen aus Visual Studio heraus.
  • Time Stamp Margin
    Zeigt kurze Zeitstempel im Ausgabefenster an, um alte von neuen Meldungen zu unterscheiden.

Editor-Unterstützung

  • Collapse Region
    Klappt alle #regions in einer Datei mit einem Tastenkürzel auf oder zu. Erhöht die Übersichtlichkeit von entsprechend sorgfältig geschriebenen Dateien auf einen Schlag erheblich.
  • EditorConfig Language Service
    IntelliSense und Syntax Highlighting für .editorconfig-Dateien.
  • Fix Mixed Tabs
    Meldet und korrigiert inkonsistente Tab-/Leerzeicheneinrückung im aktuellen Dokument.
  • Git Diff Margin
    Zeigt Änderungen in Git neben jeder Zeile dem Editor und in der Scrollbar an.
  • Indent Guides
    Zeigt Hilfslinien in jeder Einrückungsebene des Quelltexts an, die die Orientierung in längeren eingerückten Abschnitten erheblich verbessern, sowie einen rechten Begrenzungsrand. Hebt auch die aktive Ebene hervor und irritiert nicht mit Tooltips. Bessere Ausrichtung und unaufdringlichere Darstellung als der in VS eingebauten Funktion, die deshalb deaktiviert wird.
  • Markdown Editor
    Vollständiger Markdown-Editor mit Echtzeit-Vorschau und Syntax Highlighting.
  • Selection and TODO Highlighter
    Markiert andere Vorkommen des ausgewählten Texts sowie TODO-Wörter im Editor und dem Scrollbar-Rand, damit man sie leicht findet bzw. nicht übersieht.
  • Syntax Highlighting Pack
    Syntax Highlighting und Code Folding für viele zusätzliche Sprachen.
  • Text Macros for Visual Studio
    Zeichnet aufwändige Textbearbeitungen auf und spielt sie danach beliebig oft wieder ab.
  • Trailing Whitespace Visualizer
    Hebt Leerzeichen am Zeilenende hervor und entfernt sie optional.

3. Einstellungen importieren

Importieren der vorbereiteten Visual-Studio-Einstellungen, die Angaben zur Textformatierung, Textdarstellung und dem Verhalten und Layout der IDE beinhalten. Beim Import kann angegeben werden, welche Teile der Einstellungen übernommen werden sollen. Hier sollten alle Bereiche ausgewählt bleiben. Vor dem Import können die aktuellen Einstellungen exportiert werden, um sie bei Bedarf wiederherzustellen.

VS2019.vssettings251 KiBVisual-Studio-2019-Einstellungen
  • Oben angegebene Datei herunterladen
  • Visual Studio starten („Ohne Code fortfahren“)
  • Menü „Extras; Einstellungen importieren/exportieren...“
  • Option „Ausgewählte Umgebungseinstellungen importieren“
  • Bei Bedarf aktuelle Einstellungen speichern
  • Schaltfläche „Durchsuchen“ und die heruntergeladene Datei auswählen, „Weiter“
  • Zu importierende Einstellungen prüfen, „Fertig stellen“

Zusätzliche manuelle Anpassungen

Aufgrund von andauernden Fehlern in Visual Studio werden manche Einstellungen nicht importiert und müssen manuell angepasst werden. Obwohl diese Einstellungen durch die Synchronisierung im Microsoft-Konto gespeichert werden, werden sie von der Import-Funktion nicht richtig behandelt. Daher sind diese Anpassungen bei Folgeinstallationen evtl. nicht mehr erforderlich.

  • Menü „Extras, Optionen...“
  • Abschnitte „Text-Editor; CSS/LESS/SCSS; Erweitert“
  • Einstellung „Klammernpositionen“ auf „Erweitert“ ändern
Die wesentlichen Anpassungen im Detail

Durch die Einstellungsdatei werden im Wesentlichen die folgenden Änderungen vorgenommen. Dazu eine kurze Begründung.

  • Extern geänderte Dateien automatisch neuladen, wenn keine eigenen Änderungen ungespeichert sind – Nach einem Update-Checkout wird man sowieso immer auf „Ja“ klicken. Das geht jetzt schneller.
  • Neue Dokument-Tabs rechts öffnen – Von links nach rechts ist eben unsere Schreibrichtung und so macht das auch jedes andere Programm.
  • Kommentare in grau – Durch die unterschiedliche Helligkeit sind Kommentare besser als solche erkennbar. Sie unterstützen auch nur das Code-Verständnis, letztlich zählt aber der Code selbst. Grün ist dafür zu indifferent.
  • Regions in orange – Durch die auffällige Farbe des kurzen #region sind Abschnitte deutlich sichtbar und erfüllen ihren Zweck auch im aufgeklappten Zustand.
  • Projekt erstellen mit F6 – Dieser Tastaturbefehl erstellt nur das aktuelle Projekt, so erkennt man Buildfehler während der Programmierung schneller. (Aus Visual Studio 6 übernommen)
  • Zeilennummern im Editor – Dienen dem schnellen Abgleich mit Kollegen am Telefon oder aus externen Diff-Tools oder Fehlermeldungen. Strg+G springt zu einer Zeile.
  • Zeilenumbruch im Editor – Lange Zeilen sollten sowieso vermieden werden, dabei hilft die vertikale Linie bei Spalte 100. Die verbleibenden langen Zeilen werden so ohne aufwändiges Scrollen mit der Maus sofort sichtbar und verständlich.
  • Kein Kopieren/Einfügen ohne Textauswahl – Das kann nur Visual Studio und es zerstört den Inhalt der Zwischenablage, wenn man nicht damit rechnet.
  • Tabs statt Leerzeichen – Tabs sind zum Einrücken da. Tabs verhindern Inkonsistenz. Tabs erlauben individuelle Einrückungstiefe. Tabs lassen sich mit dem Cursor schnell überspringen. Die „Tabulator-Taste“ wird zum Einrücken benutzt. Leerzeichen können all das nicht.

Falls du im einen oder anderen Punkt anderer Meinung bist und dafür eigene Argumente hast, lass es mich bitte wissen. Ich will nicht dumm sterben.

💡 Tipps zum Umgang mit den Panels

Damit das Layout möglichst lange in einem „ordentlichen“ Zustand bleibt, solltest du dir folgenden Umgang mit den Ansichtsfenstern angewöhnen:

  • Panels, die den Editor überlagern, sollten nie geschlossen werden. Sie verschwinden an ihren Rand, wenn etwas anderes ausgewählt wird und bleiben immer an der Seite verfügbar. Sie sollten auch nie permanent sichtbar angedockt werden, weil sie dann für immer im Weg sind und nur umständlich wieder wie vorher platziert werden können.
  • Panels, die den Editor verdrängen (verkleinern), sollten nach ihrer Nutzung wieder geschlossen werden. Dazu gehören v. a. Suchergebnisse, die für eine Weile ständig sichtbar sein sollen, aber danach gar nicht mehr benötigt werden. Diese Panels werden mit Esc verlassen, mit Umschalt+Esc ganz geschlossen.
  • Wenn ein Panel mal zu klein sein sollte, vergrößer es – wenn überhaupt – bitte zurückhaltend. Wenn du dafür gleich den halben Bildschirm belegst, ist kurz darauf ganz sicher etwas anderes zu klein und du musst ständig daran herumzupfen.

4. CodeMaid-Einstellungen importieren

Die CodeMaid-Einstellungen enthalten Vorgaben dazu, wie Quelltexte bereinigt und umformatiert werden. Im Auslieferungszustand sind diese Regeln recht aggressiv eingestellt, so dass auch Codebereiche umformatiert werden, bei denen es nicht notwendig wäre, oder manche Codebereiche durch Zeilenumbrüche und Abstände unnötig in die Länge gezogen werden.

CodeMaid.config15.6 KiBCodeMaid-Einstellungen für Visual Studio 2015–2019
  • Oben angegebene Datei herunterladen
  • Menü „Erweiterungen; CodeMaid; Options...“
  • Schaltfläche „Import“
  • Heruntergeladene Datei auswählen

5. Snippets importieren

Snippets (Schnipsel, Ausschnitte) sind kurze Code-Vorlagen, die sich im Code-Editor einfügen lassen. Sie enthalten meist Platzhalter, die der Editor dann direkt in ihrem Platz im Code nacheinander abfragt. Dabei erhalten mehrere Vorkommen eines Platzhalters denselben Wert. Dadurch lassen sich immer wiederkehrende Konstrukte und Formulierungen schnell und ohne mehrfache Tipparbeit in ein Dokument einfügen. Da manchen Snippets in Visual Studio anscheinend nicht sehr viel Liebe zuteil wurde, werden sie hier einfach aktualisiert.

Hinweis: Da hierbei Dateien aus der Visual-Studio-Installation überschrieben werden müssen (ansonsten würde der Komfort drastisch reduziert), kann diese Anpassung nach größeren Updates von Visual Studio erneut erforderlich sein.

vs2019-snippets.exe27.9 KiBInstaller für aktualisierte Snippets für Visual Studio 2019 Manuelle Installation und Quelltext des Installers
vs2019-snippets-src.7z16.4 KiBQuelltext des Installers (7-Zip-SFX-Archiv und Batch-Datei)
  • Verzeichnis „C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC#\Snippets\1031\Visual C#“ im Windows-Explorer öffnen (einzelne Teile können je nach Edition und Sprache abweichen)
  • Ordereigenschaften, Sicherheit, Bearbeiten: Für Benutzer „Ändern“ zulassen (erleichtert Aktualisierungen)
  • Dateien im folgenden Archiv in dieses Verzeichnis entpacken und überschreiben
Snippets.zip580 BAktualisierte Snippets für Visual Studio 2019

Mit folgenden Tastenkombinationen können Snippets eingefügt werden. Visual Studio unterscheidet zwischen einfachen Ausschnitten, die am aktuellen Ort eingefügt werden (wie Eigenschaften oder Methoden), und solchen, die einen markierten Text umschließen (wie Schleifen oder Regions).

Strg+K, Strg+X Ausschnitt einfügen…
Strg+K, Strg+S Umschließen mit… (vorher den zu umschließenden Text markieren)

💡 Tipps zur Zeilenbearbeitung

Damit das Umschließen mit Ausschnitten (wie auch das Kopieren und Einfügen von Zeilen) im Editor ohne ständiges Nachdenken und Korrigieren zu vorhersehbaren Ergebnissen führt, sollte man sich angewöhnen, immer ganze Zeilen auszuwählen und nicht die Einrückung am Anfang und den letzten Zeilenumbruch wegzulassen. Dazu braucht der Textcursor die erste Spalte nie zu verlassen.

Weitere Ressourcen

Die folgenden Webseiten und Blog-Artikel beschreiben neue und nützliche Erweiterungen für Visual Studio 2017:

Fehler in Visual Studio 2019

Visual Studio 2019 hat ein paar Fehler aus den Vorversionen übernommen, die die Einrichtung etwas erschweren. Ich halte diese Liste weiterhin aktuell, in der Version 2015 war sie deutlich länger.

Statistic data

  • Created on 2019-09-19, updated on 2019-12-13.