Blog

Scala-Entwicklung mit dem Atom-Editor von GitHub

Arnout Engelen

Aktualisiert Oktober 22, 2025
2 Minuten

.code { font-family: monospace; background-color: #eeeeee; }

GitHub hat kürzlich Version 1.0 seines Atom-Editors veröffentlicht. Dieser Beitrag gibt einen groben Überblick über seine Scala-Unterstützung.

Grundlegende Merkmale

Grundlegende Funktionen wie die Hervorhebung der Scala-Syntax bietet das Plugin language-scala. Das Plugin scala-worksheet-plus enthält einige Arbeitsblätter, wie sie z.B. in Eclipse zu finden sind, aber es fehlen noch wichtige Funktionen und es ist derzeit nicht sehr nützlich.

Navigation und Abschluss

Ctags

Atom unterstützt die grundlegenden Funktionen 'Gehe zu Erklärung' (ctrl-alt-down) und 'Symbol suchen' (cmd-shift-r) über die standardmäßige ctags-basierte Symbol-Ansicht. Es gibt zwar mehrere sbt-Plugins für die Erzeugung von ctags, aber am einfachsten scheint es zu sein, Ensime die Quellen herunterladen zu lassen (mehr dazu weiter unten) und ctags manuell aufzurufen: Legen Sie diese Konfiguration in Ihrem Home-Verzeichnis ab und führen Sie den Befehl 'ctags' in Ihrem Projektstamm aus. Dies ist nützlich für die Suche nach Symbolen, aber nur begrenzt für das Auffinden von Deklarationen: Wenn Sie beispielsweise die Deklaration für Success überprüfen, weiß ctags nicht, ob es sich um scala.util.Success, akka.actor.Status.Success, spray.http.StatusCodes.Success oder ein anderes Symbol eines Drittanbieters oder ein lokales Symbol mit diesem Namen handelt.

Ensime

An dieser Stelle kommt das Ensime-Plugin ins Spiel.

Ensime ist ein Dienst zur Unterstützung der Scala-IDE, der ursprünglich für die Scala-Unterstützung in Emacs geschrieben wurde. Die Projekt-Metadaten für Ensime können mit 'sbt gen-ensime' aus dem ensime-sbt sbt-Plugin erzeugt werden.

Verwendung

Starten Sie den Ensime-Server von Atom aus mit 'cmd-shift-p' 'Ensime: start'. Nach einer kurzen Pause verkündet die Statusleiste 'Indexer bereit!' und Sie sollten startklar sein. Zu diesem Zeitpunkt sind die wichtigsten Funktionen 'Zur Definition springen' (Alt-Klick), Hover für Typinformationen und Autovervollständigung:

atom.io ensime Fertigstellung

Es gibt noch einige Ecken und Kanten, aber dies ist ein vielversprechender Anfang, der auf einer soliden Grundlage basiert.

Schlussfolgerungen

Obwohl Atom bereits ein angenehmer, moderner, plattformübergreifender Open-Source-Editor ist, steht er eindeutig noch am Anfang. Die Scala-Unterstützung in Atom ist noch nicht so ausgefeilt wie in IDEs wie IntelliJ IDEA oder so stabil wie in ausgereifteren Editoren wie Sublime Text, aber sie ist bereits praktisch nützlich und hat ernsthaftes Potenzial. Der Start erfolgt nicht sofort, aber ich habe keine "Trägheit" bemerkt, von der frühere Rezensenten berichteten. Teilen Sie uns Ihre Erfahrungen in den Kommentaren mit. Ich werde diesen Beitrag aktualisieren, sobald sich die Tools - und unsere Erfahrungen mit ihnen - weiterentwickeln.

Verfasst von

Arnout Engelen

Contact

Let’s discuss how we can support your journey.