Menü

JetBrains holt zum Update-Rundumschlag aus mit IntelliJ IDEA, CLion und PyCharm

Neben JetBrains Flaggschiff-IDE für Java sind auch die Entwicklungsumgebungen für C/C++ und Python als 2019.2-Release erschienen.

Lesezeit: 3 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 10 Beiträge

(Bild: Shutterstock)

Von

Der tschechische Toolhersteller JetBrains veröffentlicht turnusmäßig gleich drei seiner Entwicklungsumgebungen in der Version 2019.2. IntelliJ IDEA, das sich in erster Linie an Java-Entwickler richtet, kennt unter anderem erste Neuerungen des kommenden Java 13. Das auf die Entwicklung in C beziehungsweise C++ ausgerichtete CLion konzentriert sich auf Embedded-Entwicklung und PyCharm erweitert die Anbindung an Jupyter und bietet Hilfen im Umgang mit Python 3.8.

Als Vorschau auf das kommende Java 13 kennt IntelliJ IDEA unter anderem die erweiterten Switch Expressions, die den Einsatz von yield zur Rückgabe von Werten erlaubt, wie im JEP-354 (JDK Enhancement Proposal) vorgeschlagen. Auch die in JEP-355 vorgeschlagenen Text Blocks aus mehrzeiligen String-Literalen kennt die IDE und ermöglicht unter anderem das Einfügen von HTML- oder SQL-Blöcken.

Ein neues Refactoring ermöglicht das Umformen von Codeblöcken mit mehreren Rücksprungzeilen auf eine einzelne return-Anweisungen unter Zuhilfenahme einer lokalen Variable. Das Refactoring dient vor allem der besseren Übersicht beim Nachvollziehen des Programmverlaufs.

IntelliJ IDEA baut Codeblöcke mit mehreren Rücksprungbefehlen auf Wunsch so um, dass es eine einzelne Zeile für den Rücksprung gibt.

(Bild: JetBrains)

Die Constant Conditions & Exceptions-Inspection zur Datenflussanalyse hat im Kontextmenü den zusätzlichen Punkt Find Cause, der anzeigt, warum die Inspektion eine Warnung ausgibt und beispielsweise hervorhebt, welche Codezeile dafür verantwortlich ist, dass eine Bedingung immer true beziehungsweise false ergibt.

Bei den Tipphilfen bietet der Editor der Entwicklungsumgebung nun wie das Anfang der Woche als 2019.2-Release veröffentlichte WebStorm nun ein übersichtlicheres Pop-up-Fenster bei der Autovervollständigung. Wie die Web-IDE kann IntelliJ IDEA nun bei Tippfehlern sinnvolle Vorschläge für das Vervollständigen anzeigen und schlägt beispielsweise bei der Eingabe von "retru" trotz des Buchstabendrehers return vor.

Die Konfiguration für Codestile lässt sich nun verzeichnisweise durch das Ablegen einer .editorconfig-Datei festlegen. Die Einstellungen gelten für das Verzeichnis, in dem die Datei liegt, und alle Unterverzeichnisse. Wenn die Datei nicht existiert, greifen die Projekteinstellungen.

Die Ultimate-Edition bietet zudem einige Ergänzungen für JavaScript und TypeScript, die auch in WebStorm 2019.2 zu finden sind, darunter das verbesserte Rename Refactoring und das Auflösen destrukturierender Zuweisungen. Ebenfalls der kommerziellen Variante vorbehalten sind ein erweitertes Dependencies-Diagramm für Gradle und die Integration von Profiling-Tools.

Der Fokus von CLion 2019.2 liegt vor allem auf der Embedded-Entwicklung. Die C/C++-Entwicklungsumgebung ermöglicht nun das On-Chip-Debugging über Run-Debug-Konfigurationen für einige Embedded-Debugging-Server, darunter OpenOCD, ST-Link GDB Server, Segger J-Link GDB Server und QEMU. Die Debug-Ansicht bietet zudem für ARM-basierte Geräte eine Übersicht über die Peripherie. Entwickler können nach dem Laden der .svd-Datei ihres Boards die Anzeige auf die gewünschte Übersicht der Peripherie-Geräte anpassen.

CLion zeigt beim Debugging die zu den Peripherie-Geräten zugehörigen Werte.

(Bild: JetBrains)

Auch jenseits der Embedded-Entwicklung bringt der Debugger von CLion einige Neuerungen mit, darunter die Autovervollständigung für GDB/LLDB-Befehle im Kommandofenster und einen experimentellen Debugger für die Toolchain von Microsoft Visual C++. Außerdem bietet die erweiterte Memory View, die einen Einblick in den Speicher gibt, nun eine ASCII-Ansicht. Über Go to Address springt die Speicheransicht zudem direkt auf den Wert einer Pointer-Variable, die Adresse einer beliebigen Variable oder einer im Hexadezimalformat angegebenen Speicheradresse.

Weitere nennenswerte Neuerungen in CLion sind das Auffinden ungenutzter, über #include-Anweisungen eingefügter Dateien und das Eingeben lokaler Änderungen als Commit in ein Versionskontrollsystem ohne den Umweg über einen Dialog mit dem Tastenkürzel Strg | K. Das Rust-Plug-in bekommt eine experimentelle Unterstützung für deklarative Makros, die sich über Settings | Languages & Frameworks | Rust | Expand aktivieren lässt.

Die auf Python-Entwickler ausgelegte IDE PyCharm bringt im 2019.2-Release unter anderem eine verbesserte Anbindung an Jupyter. So lassen sich nun direkt aus der IDE alle Zellen eines Jupyter Notebook mit einem einzigen Klick ausführen. Offensichtlich war die Umsetzung der auf den ersten Blick simplen und naheliegenden Funktion alles andere als trivial, und das PyCharm-Team musste laut eigenen Angaben einen Teil der Ausführungslogik von Jupyter in der IDE reimplementieren.

Der Debugger zeigt den aktuellen Wert der Variablen neben dem Code an.

(Bild: JetBrains)

Eine bessere Übersicht sollen virtuelle Trennzeilen bringen, die Jupyter-Notebook-Zellen voneinander abgrenzen. Der Editor zeigt die Leerzeilen zwar an, aber fügt sie nicht in den Sourcecode ein. Außerdem bietet der Debugger einen Einblick in die Werte der Variablen beim Arbeiten im Notebook. Schließlich können Entwickler nun den zu startenden Jupyter-Server und den Port, auf dem er lauscht, konfigurieren. Bisher führte die IDE stets den aus, der zum ersten geöffneten Projekt gehörte.

PyCharm ist zudem auf Python 3.8 vorbereitet, das seit der im Juni veröffentlichten ersten Beta als Feature Complete gilt. Die IDE kennt unter anderem die im PEP 572 (Python Enhancement Proposal) vorgeschlagenen Assignment Expressions, mit denen sich Python Expressions wie Berechnungen einer Variable zuweisen lassen. Auch die in PEP 570 als Positional-only Parameters eingeführte Syntax für Funktionen mit rein positionsbestimmten Parametern wertet die Entwicklungsumgebung aus, um beispielsweise auf fälschlich angegebene Parameternamen hinzuweisen.

PyCharm kennt die Assginment Expressions aus dem kommenden Python 3.8.

(Bild: JetBrains)

Darüber hinaus bietet PyCharm 2019.2 eine vereinfachte Suche nach Codeduplikaten und eine Refactoring-Funktion für Inline Functions. Die IDE unterstützt zudem das cURL-Format für REST-Clients und behält Cookies zwischen Anfragen bei. Schließlich hat das Team nun als Alternative zum umfangreichen BashSupport-Plug-in einige grundlegende Funktionen zum Umgang mit Bash in die IDE integriert.

Weitere Details zu den Neuerungen der drei Entwicklungsumgebungen in der 2019.2-Variante lassen sich jeweils der "What's-New"-Seite von IntelliJ IDEA, CLion und PyCharm entnehmen. Alle JetBrains-Produkte sind im Abo erhältlich. Für IntelliJ IDEA existiert zudem eine auf JVM- und Android-Entwicklung ausgelegte, kostenfreie und unter Apache-2-Lizenz quelloffene Community-Edition. Auch für PyCharm ist eine kostenfreie Community-Edition verfügbar, die auf die reine Python-Entwicklung ausgelegt ist und auf Funktionen für JavaScript, HTML und SQL verzichtet. CLion ist ausschließlich als kommerzielles Produkt verfügbar, zu dem JetBrains eine 30-Tage-Testlizenz anbietet. (rme)