iX 4/2018
S. 64
Review
Code-Editoren
Aufmacherbild

Atom, Sublime Text, Visual Studio Code, Vim im Vergleich

Edle Federn

Viele Programmierer brauchen keine fette IDE, um ihren Job zu erledigen. Dank Git- und Debugger-Integration bieten schlanke Code-Editoren alles, was man zur Softwareentwicklung braucht.

Die Frage nach dem besten Editor beschäftigt Entwickler seit den Zeiten von Emacs und vi. Mittlerweile gibt es mit plattformübergreifenden GUI-Editoren wie GitHubs Atom, Sublime Text 3 oder Microsofts Visual Studio Code interessante neuere Alternativen. Laut Stack Overflow sind diese drei sowie der Evergreen Vim die populärsten Code-Editoren unter Entwicklern (siehe ix.de/ix1804064). Alle vier Editoren laufen unter Linux, macOS und Windows.

Der grundlegende Funktionsumfang ist ähnlich: Features wie Syntax-Highlighting, automatische Codevervollständigung und ein Werkzeug zum Verwalten von Funktionserweiterungen sind mittlerweile Standard. Aber jeder Editor hat auch seine Besonderheiten: Die Atom-Erweiterung Teletype beispielsweise vereinfacht die Zusammenarbeit von Entwicklern, Sublime Text 3 ist besonders schlank und schnell, Vim verfolgt ein ganz eigenes Bedienkonzept und lässt sich auch im Terminal nutzen, Visual Studio Code bringt einen eingebauten Debugger mit. Entwickler haben die freie Wahl, aber aufgrund der fast unüberschaubaren Funktionsvielfalt der Editoren fällt die Entscheidung nicht leicht.

Dateien, Ordner, Projekte und ein GUI

Anders als große Entwicklungsumgebungen wie Microsoft Visual Studio und Eclipse arbeiten die Code-Editoren nicht mit Projektdateien, sondern auf Datei- und Ordnerebene. Es genügt, eine Datei oder einen Ordner zu öffnen, um mit der Entwicklung zu beginnen. Einige Editoren interpretieren aber die Projektdateien, wie sie von den verschiedenen Frameworks und Plattformen definiert werden.

Enthält ein Ordner beispielsweise eine Node.js-Datei package.json, nutzen Atom und Visual Studio Code die darin enthaltenen Informationen, um projekt- und plattformspezifische Funktionen wie eine passende Autovervollständigung zur Verfügung zu stellen. Bei den anderen Editoren erledigt eine Erweiterung diese Aufgabe. Für TypeScript-Projekte (tsconfig.json) ist bei allen Editoren eine Erweiterung nötig (siehe ix.de/ix1804064).

Die meisten Code-Editoren – hier Visual Studio Code – verwenden eine ähnliche Bedienoberfläche (Abb. 1).

Mit Ausnahme von Vim verwenden die aktuellen Code-Editoren ein ähnliches UI-Pattern: Auf der linken Seite befindet sich ein Datei-Explorer, der alle Dateien und Ordner des aktuellen Verzeichnisses anzeigt. Neben dem Datei-Explorer befindet sich der eigentliche Editor und unter dem Editor ist Platz für verschiedene Panels, etwa ein Terminal oder ein Log für Fehler und Warnungen. Natürlich ist es möglich, die Bedienoberfläche flexibel an die eigenen Bedürfnisse anzupassen.

Was geht?

Autocompletion in Atom (Abb. 2)

Alle Editoren unterstützen unterschiedliche Programmier-, Auszeichnungs- und Datenbanksprachen von JavaScript, HTML und CSS über C#, C++ und Python bis zu PHP und SQL, um nur einige zu nennen. Gängige Sprachen sind in der Regel schon im Standardumfang des Editors enthalten, weitere Sprachen stehen als Erweiterung zur Verfügung. Neben dem reinen Syntax-Highlighting wird für einige Sprachen auch eine Autovervollständigung geboten, die Benutzereingaben sinnvoll ergänzt: Ein Pop-up zeigt zuvor deklarierte Variablen, im Programmkontext erreichbare Methoden, Funktionen und Objekte oder auch umfangreiche Vorlagen von häufig verwendeten Codestücken (Templates und Snippets) an.