Visual-Studio-2017-Konfiguration

Meine persönlichen Erweiterungs-Empfehlungen und vorbereitete Einstellungen für Textformatierung, Codebereinigung und UI-Layout für eine produktive Arbeitsumgebung.

Bring bitte etwa 15 Minuten mit, um diese Seite in Ruhe zu lesen.

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 2017 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 2019, 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:

VS2017-Tastaturbefehle.pdf98 KiBÜbersicht nützlicher Tastaturbefehle in Visual Studio 2017

Ü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 2017 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,4 KiBVisual-Studio-2017-Erweiterungen
  • Oben angegebene Datei herunterladen
  • Extension Manager installieren (dort auf „Download“ klicken und der Installation folgen)
  • Visual Studio starten
  • Menü „Extras; Import and Export Extensions; Import Extensions...“
  • Die heruntergeladene Datei auswählen
  • Zu installierende Extensions prüfen, „Install“

Hinweis: Die Initialisierung dauert ein paar Minuten, währenddessen muss aber evtl. die Benutzerkontensteuerung (UAC) bestätigt werden. 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.
  • Image Optimizer
    Komprimiert JPEG-, PNG- und GIF-Bilder auf ihre minimale Dateigröße.
  • Power Commands for Visual Studio
    Stellt zusätzliche Befehle bereit, z. B. das Wiederöffnen eines gerade erst geschlossenen Dokuments.
  • Quick Launch Tasks
    Fügt weitere Schnellstart-Funktionen hinzu, z. B. „CollapseRegions“.
  • 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

  • EditorConfig Language Service
    IntelliSense und Syntax Highlighting für .editorconfig-Dateien.
  • Fix Mixed Tabs
    Meldet und korrigiert inkonsistente Tab-/Leerzeicheneinrückung im aktuellen Dokument.
  • GhostDoc
    Verfasst automatisch mehr oder weniger passende XML-Kommentare zur Dokumentation des Quellcodes.
  • 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.
  • Markdown Editor
    Vollständiger Markdown-Editor mit Echtzeit-Vorschau und Syntax Highlighting.
  • Project File Tools
    IntelliSense und andere Werkzeuge zur Bearbeitung von .csproj-Dateien.
  • 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.
  • TODO Highlighter
    Hebt alle Vorkommen von „TODO“ im Editor rot hervor, damit man sie nicht übersieht.
  • Trailing Whitespace Visualizer
    Hebt Leerzeichen am Zeilenende hervor und entfernt sie optional.

Erweiterungen für Web-Anwendungen

  • Bundler & Minifier
    Fasst mehrere CSS- oder JavaScript-Dateien in eine komprimierte Datei zusammen.
  • Glyphfriend 2017
    Auswahl mit Vorschau im HTML-Editor für viele Icon-Fonts.
  • HTML Tools
    Produktivitäts-Werkzeuge für den HTML-Editor.
  • Web Compiler
    Übersetzt LESS-, SCSS- und weitere Dateien beim Build.

Erweiterungen für WPF-Anwendungen

  • XAML Regions
    Fügt die von C# bekannte Unterstützung für benannte Abschnitte (#region) in XAML hinzu.

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.

VS2017.vssettings224 KiBVisual-Studio-2017-Einstellungen
  • Oben angegebene Datei herunterladen
  • Visual Studio starten
  • 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 Fehlern in Visual Studio werden manche Einstellungen derzeit nicht importiert und müssen manuell angepasst werden:

  • Menü „Extras, Optionen...“
  • Abschnitt „Text-Editor; Allgemein“
  • Einstellung „Strukturführungslinien anzeigen“ deaktivieren (wird durch Indent Guides besser ersetzt)
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.
  • Keine Startseite – Braucht nur Zeit. Die letzten Projekte lassen sich schneller aus der Jumplist (rechte Maustaste auf dem Taskleistensymbol) öffnen.
  • 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 es kurz darauf ganz sicher zu groß 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/2017
  • Oben angegebene Datei herunterladen
  • Menü „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.

vs2017-snippets.exe27,9 KiBInstaller für aktualisierte Snippets für Visual Studio 2017 Manuelle Installation und Quelltext des Installers
vs2017-snippets-src.7z16,4 KiBQuelltext des Installers (7-Zip-SFX-Archiv und Batch-Datei)
  • Verzeichnis „C:\Program Files (x86)\Microsoft Visual Studio\2017\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 2017

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 2017

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

Statistische Daten

  • Erstellt am 2017-04-15, aktualisiert am 2019-03-08.