Ihr habt mich bekehrt

Auf Anraten der Leserschaft teste ich heute Visual Studio Code von Microsoft. Und ich stimme zu: Mit diesem Code- und Text-Editor lässt es sich arbeiten.

Ich habe neulich zweimal über Editoren geschrieben: Über Sublime Text und dann über Notepad++, mit speziellem Augenmerk auf Markdown. Beide Male haben mir insgesamt mindestens fünf LeserInnen geschrieben, ich solle mir doch Visual Studio Code (VSC) ansehen (hier etwa die Empfehlung von Manuel). Dieser Editor stammt von Microsoft, ist quelloffen und nicht nur für Windows, sondern auch für Mac und Linux zu haben.

Löst Microsoft meine Probleme?

Da kann ich natürlich gar nicht anders, als diese Empfehlung aufzugreifen. Erstens ist es per se bemerkenswert, wenn sich Microsoft für Open-Source und Linux einsetzt. (Für mich wirkt es noch immer kontraintuitiv, ein solches Programm vor der Nase zu haben – auch wenn ich natürlich weiss, dass Microsofts Engangement inzwischen Jahre zurückreicht. Schon vor zehn Jahren war es Thema in Digitalk 84. Und hier habe ich die Linux-Möglichkeiten in Windows vorgestellt.)

Zweitens wäre das Programm eine interessante Wahl, weil es für alle wichtigen Plattformen zur Verfügung steht – und obendrein einen ansprechenden Eindruck erweckt. Stellt sich also die Frage: Löst Microsoft alle meine Probleme?

Der erste Eindruck ist positiv: Die Installation läuft schnell durch und mit 230 MB ist das Programm zwar nicht gerade bescheiden, was den Anspruch an Festplattenspeicher angeht.

50 GB für einen Editor?

Aber das ist kein Vergleich mit der Installation der ausgewachsenen Entwicklerumgebung von Microsoft, die ich vor längerer Zeit im Beitrag Gratis für Windows programmieren vorgestellt habe. Für Visual Studio Community braucht man zwischen 20 und 50 GB; der Bedarf an Festplattenspeicher kann bis zu 210 GB hochgehen. Ich hatte darum gewisse Bedenken – auch, weil Microsoft generell dazu neigt, einem die Festplatte bei der klitzekleinsten Installation mit allerhand Unsinn vollzumüllen. Aber wie zuvor erwähnt: Meine Bedenken waren unbegründet.

Die Erscheinung des Editors gefällt mir hervorragend: Er ist übersichtlich und wirkt modern; und zeigt sich im dunklen Modus.

So präsentiert sich eine HTML-Seite.

Irritierend ist, dass er auf einem deutschen Windows englische Befehle zeigt. Das lässt sich aber ändern, indem man Ctrl + Umschalt + p (für die Befehlspalette, über die später noch zu berichten sein wird) betätigt, nach Configure Display Language sucht und auf Additional Language klickt. Es erscheint eine lange Liste mit Sprachpaketen, aus der man das German Language Pack for Visual Studio Code auswählt, installiert und den gewünschten Neustart durchführt. Die deutsche Übersetzung ist allerdings nicht gerade hochwertig. Aber ich verwende sie trotzdem.

Die vielfältigen Anzeigemöglichkeiten

Dokumente werden automatisch in Reitern geöffnet. Über den Knopf rechts oben namens Fenster rechts teilen (das Quadrat mit dem senkrechten Strich in der Mitte) splittet man das Fenster, um zwei oder mehr Dokumente nebeneinander zu sehen. Auch eine horizontale Unterteilung ist über Anzeigen > Editorlayout möglich. Dort gibt es dafür den Befehl Trennen unten. Plus eine Handvoll vorgefertigter Layouts, die man vielleicht verwenden möchte. Und per Maus zieht man einen Reiter von einem Teilfenster in ein anderes.

Im Anzeigen-Menü gibt es noch weitere interessante Befehle. Bei Darstellung > Panel anzeigen blendet man ein Powershell-Fenster ein, bei dem man über ein Dropdown-Menü auch auf die normale Shell umschalten kann. Für mich nicht zwingend nötig, für ernsthaft programmierende Leute aber eine Riesenhilfe.

Es gibt bei Anzeigen > Darstellung nicht nur den Vollbildmodus, sondern auch den Zen-Modus. Er blendet alles aus, was sich ausblenden lässt, sodass man nur seinen Text, bzw. den Code vor Augen hat. Wer dieses Blog hier regelmässig liest, der weiss, dass ich ein Fan von Programmen bin, die sich Mühe geben, die Ablenkung durch Screen Clutter auf ein Minimum zu reduzieren. Um den Zen-Modus zu beenden, drückt man übrigens einfach zweimal hintereinander die Esc-Taste.

Am linken Rand gibt es eine Leiste, die nebst dem Konfigurations-Symbol unten fünf Befehle hat. Zuoberst gibt den Explorer: Mit dem öffnet man einen Ordner, dessen Inhalt inklusive Unterordner in der Leiste erscheint. So öffnet man die Dateien, die man gerade braucht.

Suchen über alles, auch mittels Regex

Ein weiterer Befehl ist Suchen: Mit dem durchsucht man alle Dateien, die in der Explorer-Leiste geöffnet sind – natürlich auch mittels regulärer Ausdrücke. Die weiteren Leisten sind Quellcodeverwaltung, Debuggen und Extensions. Die ersten beiden sind für meine Zwecke nicht von grosser Bedeutung. Die Dritte allerdings schon.

Denn über die Extensions erweitert man VSC. Man hat über sie Zugriff auf den Visual Studio Market Place. Und hier gibt es eine atemberaubende Auswahl an Zusatzmodulen: Die Möglichkeit, Webseiten via Firefox oder Chrome zu debuggen. Unterstützung für alle möglichen Sprachen, von Python über C/C++, Ruby, Rust oder Pascal. Allein in der Rubrik Formatters findet man 530 Einträge, bei Programming Languages 2934. Ich habe versucht, eine Sprache zu finden, die nicht unterstützt wird. Ohne Erfolg. Selbst Brainfuck könnte man mit VSC programmieren.

Es wird an dieser Stelle klar, dass man über Visual Studio Code keinen Blogpost, sondern ein ganzes Buch schreiben sollte. Dieses Programm ist enorm leistungs- und wandlungsfähig. Es hat vielseitige Einsatzmöglichkeiten – natürlich für Programmierer, also jene Klientel, für die es eigentlich gedacht ist. Man kann aber genausogut seine HTML- oder CSS-Dateien damit bearbeiten.

Markdown, na klar!

Und ja, bevor ihr fragt: VSC beherrscht auch Markdown. Natürlich. Zum Beispiel hier über die Markdown All in One-Erweiterung. Mit der wird der Markdown-Code hübsch formatiert. Und per Rechtsklick auf den Reiter des Dokuments gelangt man zum Befehl Vorschau öffnen (Ctrl + Shift + v). Rechts oben findet sich der Knopf Vorschau an der Seite öffnen, mit dem man das formatierte Dokument auch parallel zum Code angezeigt bekommt. Natürlich mit synchronem Scrolling, wenn man sich durch den Text bewegt.

Die Markdown-Ansicht mit der Vorschau rechts.

Ein Buch werde ich nun trotzdem nicht schreiben – aber hier noch ein paar bemerkenswerte Dinge aufzählen, die mir bei meinen ersten Tests aufgefallen sind.

Die Befehlspalette (Ctrl + Shift + p). Die gibt es mit ebendem Tastaturkürzel und dem gleichen Namen (Command Palette) auch bei Sublime Text. Bei InDesign kennt man das Prinzip als Schnell anwenden: Man ruft, am schnellsten per Tastaturkürzel ein Eingabefenster auf, in das man den gewünschten Befehl eintippt: Man muss die Maus nicht bemühen – und man muss sich auch nicht daran erinnern, in welchem Menü der Befehl nun wohl steckte. Wie gesagt: So eine Befehlspalette sollte es in allen Programmen geben.

Die Konfiguration und Tastenkombinationen. Was VSC diesbezüglich bereithält, ist beachtlich. Ich fange nun gar nicht damit an, die Optionen zu beschreiben – es sind so viele, dass es eine Suchfunktion für sie gibt. Und wie Programmierer das gerne haben, gibt es für jeden Befehl auch ein Tastaturkürzel. Unter Datei > Einstellungen > Tastenkombinationen sieht man die Zuordnungen und kann sie auch ändern. Als Zückerchen für Umsteiger gibt es auch Extensions wie Notepad++ keymap, mit denen man die Tastaturkürzel seines angestammten Editors auch in VSC benutzen kann.

Suchen-Ersetzen. Für Ersetzungen innerhalb des Dokuments gibt es den gleichen Dialog wie für die Ersetzung über alle im Explorer sichtbaren Dokumente; natürlich wiederum mit der Möglichkeit, reguläre Ausdrücke zu verwenden.

Die Statusleiste. Hier sieht man die Zeile und Spalte, den Einzug, die Codierung (normalerweise UTF-8), die Zeilenendsequenz (z.B. CRLF) und natürlich den Sprachmodus; also die Art des Codes, die die Syntaxhervorhebung und das Befehlsangebot bei der Autovervollständigung bestimmt. Klickt man auf den Eintrag, kann man die Sprache selbst wählen. Bei Programmcode zeigt sie auch Fehler und Warnungen an.

Schreiberlinge wie ich würden hier gerne die Zeichenzahl sehen. Aber selbstverständlich gibt es dafür eine Erweiterung namens Character Count.

Mein künftiger Lieblingseditor

Fazit: Ja, ihr habt mich überzeugt. Wie bei so vielen gleichlautenden Empfehlungen nicht anders zu erwarten, ist Visual Studio Code – trotz des uncoolen Namens – auch mein künftiger Lieblings-Editor. Auf den ersten Blick stimmt alles – und auch wenn ich nicht daran zweifle, dass bei intensiver Nutzung im Alltag auch Unstimmigkeiten und Unschönheiten auftauchen werden, so ist der erste Eindruck absolut ungetrübt.

Bleiben zwei Fragen: Kann man auch Scripte auf die Texte ausführen? Und vielleicht sogar die Python Scripts von Notepad++?

Die Antwort auf die erste Frage ist ein Ja. Wie man das für meine Zwecke am besten macht, kann ich allerdings noch nicht abschliessend beantworten. Es gibt Erweiterungen, um Code auszuführen, zum Beispiel Code Runner. Es gibt die Tasks-Schnittstelle, die allerdings für die Anbindung von Debuggern gedacht ist. Man könnte allenfalls auch die eingangs erwähnte Powershell benutzen. Das ist aber (wahrscheinlich) mit Kanonen auf Spatzen geschossen.

Die vielversprechendste Option scheint mir eine Erweiterung wie Macros zu sein. Wie die funktionieren soll, hat sich mir jedoch leider noch nicht erschlossen. Aus dem Grund halte ich Notepad++ weiterhin die Stange – denn so einfach wie dort scheint es auch in VSC nicht zu sein, einen Text auf Vordermann zu bringen.

Beitragsbild: Pankaj Patel/Unsplash, Unsplash-Lizenz

One thought on “Ihr habt mich bekehrt

  1. Freut mich, dass es Dir gefällt! 😊

    Für die Ausführung Deiner Scripts ist mir keine schnelle Lösung eingefallen. Habe keine Extension gefunden, die Scripts ausführt und deren Rückgabe ins aktuelle Editor-Fenster schreibt. Wollte schon schreiben, Du müsstest eine Extension wie „Transformer“ herunterladen und als Vorlage für eine eigene Extension nehmen.

    Dann habe ich gemerkt, dass ich viel zu weit gedacht habe: Man muss die Rückgabe gar nicht ins Editor-Fenster schreiben. Visual Studio Code merkt, wenn eine Datei extern verändert wird und lädt sie daraufhin sofort neu. Du kannst Deine Scripts also ganz normal von einer externen Konsole aus ausführen. Oder Du nimmst „Code Runner“, denn damit kannst Du Deinem Script den Dateinamen der geöffneten Datei übergeben.

    Oder aber Du wühlst Dich durch die Extensions-Sammlung und schaust, ob es für Deine Scripts keinen Ersatz gibt. Weil wie schon erwähnt gibt es für fast alle Wünsche eine Extension. Ich habe jedenfalls keine eigenen Scripts mehr und mache alles mit Extensions, von CSS zusammenführen über JavaScript-Syntax prüfen bis zu XML-Validierung.

Kommentar verfassen