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.
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.
Git(Hub)-Anbindung und Problemlandschaft
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.
PyCharm sucht Ausnahmen
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.
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.
CLion als Macher
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.
RubyMine mit Wenn und Aber
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.
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)