KDevelop 5.0 ersetzt den eigenen C++-Parser durch Clang

Das KDevelop-Team hat am 23. August 2016 KDevelop 5.0 mit Clang-basierter C- und C++-Analyse veröffentlicht. Damit ersetzt die Entwicklungsumgebung ihren eigenen C++-Parser und die bisherige semantische Analyse. Das Projekt will den Wartungsaufwand für neue Sprachregeln verringern und die Fehlerdiagnose im Editor verbessern.

Compiler-Diagnosen direkt im Editor

Clang liefert Hinweise zu fehlerhaften Konstruktionen und kann für bestimmte Probleme Korrekturen vorschlagen. Dazu gehören etwa falsch geschriebene Variablennamen oder fehlende Satzzeichen. KDevelop bietet die Übernahme solcher Fixes per Tastenkürzel an. Zusätzlich erhält die Analyse einen eigenen C-Modus.

Entwickler Kevin Funk beschreibt in den technischen Release-Details zu KDevelop 5.0 auch Grenzen des Umbaus. Einige Funktionen der alten C++-Unterstützung sind noch nicht portiert, darunter Teile der Qt-spezifischen Vervollständigung. Auf älteren Rechnern kann die Analyse langsamer ausfallen. Das neue Plugin soll dafür besser über mehrere CPU-Kerne skalieren.

Grundsätzlich funktioniert das Plugin mit Clang 3.6 und neueren Versionen. Für den besten Funktionsumfang empfiehlt das Team mindestens Clang 3.8. Empfehlung und Mindestanforderung sind hier also zu unterscheiden.

CMake liefert die Informationen zur Übersetzung

Auch den selbst geschriebenen CMake-Interpreter entfernt das Projekt. KDevelop liest stattdessen die von CMake erzeugte JSON-Kompilierungsdatenbank compile_commands.json. Damit stammen die Informationen über Übersetzungsaufrufe direkt aus dem Build-System. Allerdings entfallen zunächst einzelne Komfortfunktionen, beispielsweise Assistenten zum Hinzufügen von Dateien zu einem Build-Ziel.

Qt 5 und Frameworks 5 als neue Basis

Die Version ist auf Qt 5 und KDE Frameworks 5 portiert. Experimentelle eigenständig ausführbare Linux-Pakete sollen einen Test neben der vorhandenen Installation ermöglichen. Eine experimentelle Windows-Ausgabe stellt das Team erst für die nahe Zukunft in Aussicht. Sie ist damit kein bereits ausgeliefertes Merkmal dieser August-Ankündigung.

Für native Spiele- und Middleware-Projekte betrifft der Wechsel vor allem die tägliche Arbeit mit C++-Code: Diagnosen und Navigation hängen stärker an einer gepflegten Compilerbasis. Ob vorhandene Projekte ohne Einschränkungen passen, muss dennoch anhand ihrer Build-Konfiguration und der benötigten Editorfunktionen geprüft werden. Eine automatische Verbesserung sämtlicher Arbeitsabläufe folgt aus dem Parserwechsel nicht.

Weitere News

Weitere News

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein