Entwicklungsumgebung: IntelliJ IDEA führt Remote Development ein

Die Funktion zum Bearbeiten von Projekten auf entfernten Rechnern gilt auch für die 2021.3-Releases von WebStorm und RubyMine.

In Pocket speichern vorlesen Druckansicht 12 Kommentare lesen
Lesezeit: 6 Min.
Von
  • Rainald Menge-Sonnentag
Inhaltsverzeichnis

JetBrains hat Version 2021.3 von IntelliJ IDEA, WebStorm und RubyMine veröffentlicht. Die Entwicklungsumgebungen lassen sich nun für das Remote Development verwenden, bei dem ein Backend auf dem Zielrechner die Verarbeitung übernimmt, während auf der Workstation ein schlanker Client ausreicht.

Das vor allem auf Java und Kotlin zugeschnittene IntelliJ IDEA erweitert darüber hinaus das Debugging und die Inspektionen für Kotlin. WebStorm bringt zusätzliche Funktionen für npm, Vue.js und React mit. Außerdem lassen sich nun npm-Pakete in den Dependencies über einen Quick Fix auf den aktuellen Stand bringen, und das Team hat die Integration der Laufzeitumgebung Deno angepasst. RubyMine erweitert den Umgang mit RBS-Definitionen.

Eine maßgebliche Änderung wird in alle JetBrains-IDEs in der Version 2021.3 wie auch PyCharm und PhpStorm einfließen, die vermutlich in den nächsten Tagen erscheinen: Die aktuellen Releases führen das Remote Development ein. Das Backend der jeweiligen IDE läuft dabei als Dienst auf einem entfernten Rechner, und das neue JetBrains Gateway kümmert sich um die Installation und die Verbindung zum Server im Backend.

JetBrains Gateway dient als Schnittstelle zu einem entfernten Rechner, auf dem das Backend der IDE ohne User Interface läuft.

(Bild: JetBrains)

Auf dem lokalen Rechner ist keine vollständige Entwicklungsumgebung erforderlich, sondern der abgespeckte JetBrains-Client dient als Frontend. Er setzt auf die IntelliJ-Plattform auf und bietet wohl die gewohnten Funktionen wie Autovervollständigung, Navigation und Refactorings. Dabei liegen alle Dateien jedoch auf dem Server, der auch das Verarbeiten der programmiersprachenspezifischen Funktionen übernimmt.

Die Anbindung an den entfernten Rechner erfolgt standardmäßig über SSH. Daneben lässt sich für das Remote Development die JetBrains-Plattform Space nutzen.

Zwei weitere Neuerungen in der 2021.3-Version betreffen ebenfalls alle drei Entwicklungsumgebungen. Zum einen hat JetBrains die bisher getrennten Fenster Favorites und Bookmarks unter letzterem Titel vereint. Dort finden sich ab sofort alle mit F11 unter Windows und Linux beziehungsweise mit F3 unter macOS als wichtig gekennzeichneten Dateien, Ordner und Klassen.

Das Run-Toolfenster lässt sich neuerdings teilen, um die Ergebnisse mehrerer parallel ausgeführter Durchläufe mit unterschiedlichen Konfigurationen nebeneinander zu betrachten.

In RubyMine und den anderen frischen IDEs lässt sich das Run-Toolfenster teilen.

(Bild: JetBrains)

IntelliJ IDEA bringt für Kotlin neue Code-Inspektionen mit, die erkennen, wenn nicht triviale Bedingungen und Werte immer true oder false sind und dadurch Blöcke aufgrund der Bedingung immer oder nie erreicht werden. Die unter Preferences / Settings | Editor | Inspections | Kotlin | Probable bugs erreichbare Untersuchung funktioniert ebenso wie die bereits seit geraumer Zeit verfügbare Inspektion für Java-Code.

IntelliJ IDEA erkennt unter anderem, dass das (x != null) aufgrund der vorherigen Abfrage immer true ist.

(Bild: JetBrains)

Der Debugger erkennt in Kotlin neuerdings Inline-Funktionen und kann deren Funktionsaufrufe im Stack-Trace-Panel anzeigen. Die ebenfalls neue Funktion Smart Step Into markiert Methoden und Lambdas, die sich schrittweise ausführen lassen.

Außerdem hat JetBrains die Projektvorlagen überarbeitet. Der Eintrag Empty Project im New Project wizard erstellt nun ein einfaches Projekt, das Dateien mit unterschiedlichen Typen aufnimmt und sowohl Java- als auch Kotlin-Klassen einbettet. Die IDE kümmert sich um die Konfiguration, um das Projekt zu kompilieren. Der neue Eintrag Multi-Module Project ist für Projekte mit einer komplexen Struktur gedacht und bietet einen spezifischen Dialog zum Hinzufügen von Modulen.

Die auf die Webentwicklung zugeschnittene IDE WebStorm bringt eine überarbeitete Integration der Laufzeitumgebung Deno für JavaScript und TypeScript und setzt dafür in Version 2021.3 auf den Deno Language Server, einer Server-Implementation des Language Server Protocol (LSP). Für Vue.js überprüft die IDE neuerdings die <template>-Blöcke auf korrekte Typzuweisungen. Dasselbe gilt für Attribute in React.

WebStorm erkennt fehlerhafte Typzuordnungen in Vue-Templates.

(Bild: JetBrains)

Für die package.json-Datei kann die Entwicklungsumgebung neuerdings die Importe von npm-Paketen auf den aktuellen Stand überprüfen: Wenn der Cursor über einer Paketversion steht, öffnet die Eingabe von Alt | Enter ein Kontextmenü, das ein Update auf die jüngste Version anbietet.

Private Felder verwaltet das aktuelle Release nach den für den kommenden JavaScript-Standard ECMAScript 2022 geplanten Vorgaben. Sie erkennt mit # als privat gekennzeichnete Felder und bietet unter anderem Rename-Refactorings für sie an.

Daneben bringt WebStorm 2021.3 eine erweiterte Autovervollständigung in HTML für Tag-Namen und Abkürzungen. Bei der Code-Completion für Zeichenentitäten wie &nbsp gab es wohl bisher ein paar Probleme, die im aktuellen Release behoben sein sollen.

RubyMine hatte die Anbindung an RBS-Deklarationen in der im April veröffentlichten 2021.1-Version eingeführt. RBS ist eine Sprache zum Beschreiben von Ruby-Programmen, mit der sich Definitionen von Klassen oder Modulen erstellen lassen. Ruby bietet seit der Ende 2020 veröffentlichten Version 3.0 eine Anbindung an RBS.

Die Version 2021.3 der auf Ruby und Rails zugeschnittenen IDE integriert nun RBS-Signaturen, die unter anderem Echtzeit-Typprüfungen ermöglichen und die Genauigkeit bei der Suche, dem Refactoring und der Navigation verbessern sollen. Die über Strg | P angezeigte Parameterinfo, die Namen und Typen der Methodenprameter anzeigt, greift nun auf RBS-Signaturen zu, wenn diese existieren.

Das Parameterinfo-Pop-up greift auf Typinformationen aus RBS-Signaturen zurück.

(Bild: JetBrains)

Außerdem kennt RubyMine neue Inspektionen für .rbs-Dateien, mit denen es unter anderem Stilabweichungen, abweichende Teildeklarationen und ungenutzte Entitäten erkennt. Für Ruby-Code existieren unter Preferences / Settings | Editor | Inspections | Ruby neue Inspektionen, die auf die RBS-Informationen zugreifen. Sie prüfen unter anderem die Typen von Konstanten, Instanz- und Klassenvariablen, Parametern und Rückgabewerten.

Neu ist daneben eine erste Anbindung an den statischen Type-Checker Sorbet. RubyMine 2021.3 erkennt Sorbet-Typsignaturen und nutzt sie für Inspektionen für Methodenargumente und Rückgabewerte. Die IDE verarbeitet dabei auch Ruby-Interface-Dateien (.rbi).

Weitere Details zu den 2021.3-Releases lassen sich den Blogbeiträgen zu IntelliJ IDEA, WebStorm und RubyMine sowie den jeweiligen "What's New"-Seiten entnehmen. Neben den regulären IDEs hat JetBrains parallel zu den frischen Versionen mit Fleet ein neues Werkzeug vorgestellt, das zum einen schlanker sein soll und zum anderen auf verteilte Entwicklungsprojekte ausgelegt ist.

(rme)