JetBrains aktualisiert die IDEs für Python, C/C++ und Ruby

Die Entwicklungsumgebungen erweitern die Anbindung an GitHub und Git und bringen neue Funktionen für die Analyse und das Refactoring mit.

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

Nach WebStorm und IntelliJ IDEA hat JetBrains nun CLion, PyCharm und RubMine in Version 2020.2 veröffentlicht. Zu den gemeinsamen Neuerungen der IDEs gehört eine erweiterte Anbindung an die Versionsverwaltung mit GitHub beziehungsweise Git. Die einzelnen Entwicklungsumgebungen bekommen zudem erweiterte sprachspezifische Funktionen zur Analyse und zum Refactoring.

PyCharm integriert zudem die jüngsten Änderungen für Python 3.9, das sich seit Mai in der Betaphase befindet. CLion erweitert die Integration der C++20-Features. Auch wenn der Standard noch nicht offiziell verabschiedet ist, ist er bereits seit Juli 2020 Feature Complete. CLion 2020.2 bringt unter anderem Syntaxhervorhebung für die in C++20 eingeführten Schlüsselwörter char8_t, consteval und constinit sowie co_await, co_return und co_yield mit.

Wie üblich ziehen einige Änderungen in mehrere bis alle IDEs ein. Unter anderem zielen die 2020.2-Versionen auf eine verbesserte Anbindung an Git beziehungsweise GitHub. Wie bereits WebStorm und IntelliJ IDEA erhalten auch CLion, PyCharm und RubyMine im aktuellen Release ein separates Fenster für die Pull Requests. Wer die passenden Berechtigungen hat, kann Änderungsvorschläge aus der IDE heraus mergen oder Team-Mitgliedern zuweisen.

Alle Entwicklungsumgebungen bringen zudem in Version 2020.2 zwei neue Fenster zum Suchen und Beheben von Fehlern und Warnungen mit. Das neue Problems Tool Window listet die Fehler und Warnungen für die im Editor geöffnete Datei mit zugehörigen Beschreibungen auf. Ein Rechtsklick auf der Maus springt zu der jeweiligen Zeile, und mit Alt | Return lassen sich die Probleme nacheinander beheben. Ebenfalls neu ist das Inspection Widget, das die Zahl der Fehler beziehungsweise Warnungen in der aktuellen Datei anzeigt und die Navigation über die gefundenen Probleme erlaubt.

Die Python-IDE PyCharm untersucht den Code selbsttätig nach Exceptions, stoppt Testläufe und zeigt eine Vorschau auf das Problem an, ohne dass Entwicklerinnen und Entwickler spezifische Breakpoints setzen müssen.

Die IDE sucht nach potenziellen Exceptions und zeigt eine Preview des Problems an.

(Bild: JetBrains)

Außerdem lassen sich die Signaturen von Methoden im Editor ändern, ohne wie bisher einen modalen Dialog aufrufen zu müssen. Nach dem Klick auf ein Icon oder Verwenden der Tasten Alt | Enter prüft PyCharm die Änderungen und wendet sie auf alle Vorkommen an. Analog können Entwicklerinnen und Entwickler Klassen oder Methoden im Code umbenennen und nach dem Überprüfen als Refactoring auf den gesamten Code übernehmen.

Das auf die Entwicklung von C- oder C++-Projekten ausgelegte CLion bringt einige Ergänzungen für Makefiles und das Zusammenspiel mit CMake mit. Letzteres ist nun in Version 3.17 Bestandteil der IDE, die darüber hinaus eine überarbeitete Nutzerschnittstelle für die Profileinstellungen des Build-Tools unter Build, Execution, Deployment | CMake anBord hat. Zudem lassen sich einigen Aktionen wie dem Öffnen der CMake-Einstellungen Tastenkürzel zuweisen.

CLion kann zudem neuerdings direkt Makefile-Projekte verarbeiten. Beim Öffnen eines Makefile beziehungsweise eines Ordners mit der Datei führt die IDE make mit der Option --just-print aus. Letztere dient dazu, einen tatsächlichen Build zu vermeiden, damit CLion lediglich die Ausgabe analysieren kann.

Darüber hinaus bringt CLion neue Funktionen zur Codanalyse mit. Unter anderem versucht die IDE hängende Zeiger (Dangling Pointers) zu erkennen, die unter anderem durch Double-Free- oder Use-After-Free-Fehler entstehen können, also das doppelte Freigeben von Speicher oder das Verwenden bereits freigegebener Speicherbereiche.

CLion analysiert neuerdings die Verwendung von Pointers, um hängende Zeiger zu erkennen.

(Bild: JetBrains)

RubyMine bietet in Version 2020.2 eine Anbindung an die Template-Sprache Liquid. Die IDE bietet dazu Vorlagen zum Einfügen häufig verwendeter Konstrukte und formatiert den Code passend zu den Codestil-Einstellungen. Außerdem erkennt sie Syntaxfehler beim Einsatz der Templates.

Des Weiteren existieren zusätzliche sogenannte Intentions, die sich über Alt | Enter ausführen lassen. Neu ist das Negieren von if-else-Konstrukten und ternären Operationen, also das Umdrehen der Bedingung und der Tausch der jeweiligen Zweige im Code. Außerdem gibt es eine neue Intention zum Umwandeln von verschachtelten else/if-Konstrukten in elsif-Anweisungen und umgekehrt.

RubyMine kann bedingte Anweisungen beziehungsweise tenäre Operationen umkehren.

(Bild: JetBrains)

Analog dazu lassen sich über die Intention Merge nested ‘if’ verschachtelte if-Anweisungen in einen booleschen Ausdruck wandeln und umgekehrt Letzterer über Split into multiple ‘ifs’ wieder als verschachteltes Konstrukt erstellen. Schließlich kann RubyMine aufeinander folgende if- beziehungsweise elsif-Zweige als mit || verknüpfte Bedingung zusammenfügen, wenn sie denselben Inhalt haben. Auch hier existiert eine zusätzliche Intention für den umgekehrten Weg.

Weitere Neuerungen zu den Entwicklungsumgebungen lassen sich den jeweiligen What's-New-Seiten von PyCharm, CLion und RubyMine entnehmen. Parallel ist zudem DataGrip in Version 2020.2 erschienen. Die Cross-Plattform-Umgebung für Datenbanken führt unter anderem einen separaten Editor für einzelne Zellen ein, der dann sinnvoll ist, wenn eine Zelle lange Inhalte aufweist. Außerdem lassen sich bei Spalten mit booleschen Inhalten die true-Werte durch einen zusätzlichen Punkt optisch hervorheben.

Erwartungsgemäß wird JetBrains in den nächsten Tagen die restlichen 2020.2-Releases der Entwicklungsumgebungen beziehungsweise Werkzeuge veröffentlichen: PhpStorm für PHP-Entwickler, die .NET-Tools Rider und ReSharper sowie die iOS/macOS-IDE AppCode.

(rme)