Visual Studio Code
Im April 2015 hat Microsoft eine neue Code Editor mit dem Namen Visual Studio Code vorgestellt. Optisch erinnert der Editor an moderne Pendants wie Atom und in der Tat setzen beide Editoren auf der gleichen Basis auf (Electron ).
Microsoft setzt nun auch beim Thema Code Editor auf diese bekannte Open Source Plattform. Momentan lässt sich der Funktionsumfang von Visual Studio und Visual Studio Code nur schwer vergleichen, da die beiden Editoren sich in der Basis unterscheiden und nicht miteinander kompatibel sind. Der Editor unterstützt die gängigsten Programmiersprachen aus dem eigenen Hause wie C#, PowerShell, F#, Visual Basic aber auch viele offene Standards wie Python, Ruby oder Lua.
Viele bekannte Erweiterungen, wie zum Beispiel das SQL Server Data Tools Plugin, sind leider nicht verfügbar.
Darüber hinaus ist der Editor im Gegensatz zu seinem Vetter Visual Studio plattformunabhängig für Linux, Mac und Windows verfügbar. In punkto Modularität sind beide Editoren gleich auf; im Visual Studio Marketplace finden sich Erweiterungen für Visual Studio, Visual Studio Code und Visual Studio Team Services; gleichwohl Microsoft nun die Chance hat mit dem neuen Editor einiges an Altlasten über Board zu werfen. Ein kurzer Blick auf die aktuellen Möglichkeiten:
Bracket Matching
Klammern werden hervorgehoben sobald der Cursor in die nähe kommt.
Selection & Multi-Cursor
VS Code unterstützt Multi-Cursors. Es können mehrere Cursor hinzugefügt werden. Jeder Cursor operiert unabhängig voneinander.
Shrink/expand selection
Selektionen können einfach gefaltet oder expandiert werden.
IntelliSense
VS Code hat ein fest eingebaute Wortvervollständigung. Für Hochsprachen wie JavaScript, JSON, HTML, CSS, C# etc. pp. wird IntelliSense unterstützt. Mögliche Vervollständigungen werden während der Eingabe angeboten.
Parameter Hints
In JavaScript, C# und TypeScript werden Parameter Hints beim Methodenaufruf angeboten. Zwischen den verschiedenen Methodenaufrufen kann mit der Tastatur gewechselt werden.
Snippets and Emmet Abbreviations
VS Code hat Code Snippets für die verschiedensten Sprachen. Darüber hinaus werden Emmet abbreviations für die Sprachen HTML, Razor, CSS, Less, Sass, XML und Jade unterstützt. Es können auch eigene Snippets hinterlegt werden.
Go to Definition
Wenn eine Hochsprache es durch ein Plugin unterstützt kann mit F12 zur Definition gewechselt werden.
Goto Symbol
Innerhalb einer Datei kann zwischen verschiedenen Symbolen gewechselt werden. Durch tippen von : öffnen sich alle möglichen Symbole nach Kategorien gruppiert.
Open symbol by name
In C# und TypeScript kann zwischen den verschiedenen Symbolen zwischen den einzelnen Dateien gewechselt werden.
Gutter indicators
Wenn eine Datei unter Versionskontrolle geöffnet wird werden im Editor für Änderungen visuell markiert. Folgende Änderungen werden unterstützt.
- Ein rotes Dreieck markiert eine gelöschte Zeile
- Ein grüner Strich markiert eine neue Zeile
- Ein blauer Strich markiert geänderte Zeilen
Peek
Ein Kontext-Switch beeinträchtigt den Arbeitsfluss. Wird schnell etwas überprüft z.B. über eine Referenz-Suche oder Peek-Definition wird das Ergebnis direkt neben dem eigentlich Inhalt dargestellt.
Hover
Für unterstützte Sprachen werden zusätzliche Informationen in einer kleinen Hover-Box dargestellt. Hier ein CSS Beispiel.
Reference information
C# unterstützt Inline-Referenz-Informationen. Klicken auf ein Symbol erlaubt verschiedene Aktionen, z.B. das Auffinden von Referenzen.
Rename symbol
TypeScript und C# unterstützt das umbenennen von Symbolen. Alle Referenzen werden umbenannt.
Code action
JavaScript und CSS unterstützen Code Aktionen. Zum Beispiel ist __dirname eine Node.js Variable. Die Code Aktion kann eine fehlenden Referenz auf
- node.d.ts hinzufügen.
Fazit
Viele der Möglichkeiten die VS Code bietet finden in diesem Artikel keine Erwähnung und können direkt der Dokumentation auf https://code.visualstudio.com/Docs/ nachgelesen werden.
Viel interessanter ist aber wie Microsoft VS Code weiterentwickelt und ob sich bestehende Plugins wie z.B. SQL Server Data Tools in VS Code integrieren.
Neuen Kommentar schreiben