Stand: 2013-01-29

Scala IDE installieren und für das Play-Framework einrichten

Wie Eclipse zur Scala-Entwicklungsumgebung ‘Scala IDE 2.0’ wird und welche Einstellungen für flüssiges Arbeiten mit dem Play-Framework hilfreich sind.

Inhalt

Voraussetzungen

Das JDK und das Play-Framework (Version 2.x) sind installiert. Um den Import eines Play-Projekts durchzuführen, ist außerdem ein solches erforderlich.

Eclipse und Scala-Plugin installieren

  1. Lade Eclipse Indigo (3.7) herunter (ich habe die Variante "classic" gewählt).
  2. Entpacke Eclipse in ein beliebiges Verzeichnis.
  3. Starte Eclipse und öffne den Assistenten zur Installation von Plugins über das Menü "Help > Install new Software ...".
  4. Trage im Feld "Work with" den URL des Scala-IDE-Plugins ein: http://download.scala-ide.org/sdk/e37/scala29/stable/site/ und klicke auf "Add..." . Den jeweils aktuellen Link findest du auf der Scala-IDE-Website.

    Danach geht ein kleiner Dialog auf, wo du noch einen beliebigen Namen (z. B. "Scala IDE") für die Site eingibst.
  5. Nun sollte eine Liste mit verfügbaren Paketen erscheinen. Wähle "Scala IDE for Eclipse" aus. Weiter geht es mit "Next >", dem abnicken der Lizenzbedingungen und schließlich "Finish".

Nach einem Neustart von Eclipse ist die Scala-Perspektive verfügbar.

Eclipse-Einstellungen

Öffne die Eclipse-Einstellungen über das Menü "Window > Preferences".

Abschließend bestätigst du die Änderungen mit "Ok".

Play-Projekt in Eclipse importieren

Starte die Play-Konsole und rufe dort eclipsify (ab Play 2.1 eclipse) auf. Nun kannst du das Projekt in Eclipse über das Menü "File > Import" mit dem Punkt "General > Existing Projects into Workspace" importieren.

Damit geänderte Dateien sofort kompiliert werden, startest du die Anwendung auf der Play-Konsole mit ~run (siehe Abschnitt Using sbt features). Die Tilde sorgt dafür, dass der Compiler automatisch bei Dateiänderungen anspringt und nicht erst, wenn du die Play-Anwendung im Browser aufrufst. Falls es nicht erforderlich ist, die Anwendung während der Entwicklung auszuführen, reicht statt ~run auch das Kommando ~compile.

Anpassungen der ignore-Datei

Bei der Arbeit im Team sollten die Eclipse-Konfigurationsdateien nicht in die Versionsverwaltung übernommen werden. Die ignore-Datei (zum Beispiel .gitignore oder .hgignore) sollte deshalb folgende Einträge enthalten:

# Eclipse
.settings
.cache
.project
.classpath
.scala_dependencies
bin

Debugger

Starte die Play-Konsole im Debug-Modus:

cd pfad/zur/play-anwendung
play debug run

Führe in Eclipse folgende Schritte aus, um den Debugger zu konfirieren und eine Sitzung zu starten:

  1. Klicke mit der rechten Maustaste auf das Projekt und wähle im Kontextmenü "Debug As > Debug Configurations ..." aus.
  2. Wähle in dem Konfigurationsdialog "Remote Java Application" aus und klicke dann oben links auf das Symbol "New launch configuration".
  3. In dem Fomular trägst du als Port 9999 ein und klickst auf "Apply" und abschließend auf "Close" oder "Debug", je nachdem ob du den Debugger sofort starten willst oder nicht.

Empfehlenswert ist noch, die Debugger-Konfiguration als Favorit hinzuzufügen, damit man den Debugger schneller aufrufen kann. Dazu setzt du in dem Kästchen "Display in favorites menu" den Haken bei "Debug" und übernimmst die Änderung mit "Apply".

Ab jetzt kann der Debugger einfach über das Favoritenmenu (Käfer-Symbol) gestartet werden.

Falls der Fehler "Failed to connect to remote VM. Connection refused." auftritt, kommen vor allem diese Ursachen in Frage:

Korrekte Einrückungen

Die Scala-Konvention ist eine Einrückung mit zwei Leerzeichen, aber Eclipse kommt in den Standardeinstellungen etwas durcheinander; mal werden zwei, mal vier Zeichen eingrückt. Es scheint so, als würden in manchen Fällen statt der Scala- die Java-Regeln verwendet.

Bei mir hat es geholfen in den Einstellungen unter "Window > Preferences > Java > Code Style > Formatter" auf "Edit ..." zu klicken und in dem erscheindenden Dialog im Register "Indentation" als "Tab policy" "Spaces only" auszuwählen und die "Indentation size" sowie die "Tab size" auf den Wert 2 zu setzen. Zum Speichern muss noch der Profilname oben geändert und dann auf "OK" geklickt werden.

Alternativen

Insgesamt kommt mir die Scala-Unterstützung der Eclipse Scala IDE besser als die von IntelliJ IDEA vor. Dafür bietet IntelliJ mehr Refactorings und in anderen Bereichen wie JavaScript mehr Komfort als Eclipse.

Weitere Informationen

Wesentliche Änderungen