CLion 2024.3 ist ein weiterer Meilenstein für CLion Nova. Unsere erheblich verbesserte neue Sprachengine enthält jetzt einige der am häufigsten nachgefragten Funktionen und ist auf die meisten Anwendungsfälle vorbereitet. Das Release enthält auch Neuerungen für die Embedded-Entwicklung, darunter Unterstützung für Debug-Server und natives Zephyr-West-Debugging. Ein OpenCV-Bildbetrachter und die Möglichkeit, den Debugger an einen nicht gestarteten Prozess anzuhängen, runden die Neuigkeiten in CLion 2024.3 ab.
Unsere neue, schnellere Sprachengine, CLion Nova, ist jetzt standardmäßig für neue Benutzer*innen aktiviert. In diesem Release haben wir einige der am häufigsten gewünschten Funktionen implementiert und eine Reihe von größeren Fehlern behoben. Langfristig soll CLion Nova als Standardengine für alle Benutzer*innen – sowohl bestehende als auch neue – zum Einsatz kommen. Aber zunächst möchten wir Sie fragen, ob Sie in dieser Hinsicht irgendwelche Bedenken haben.
Viele Verbesserungen in CLion Nova haben dazu beigetragen, den Speicherbedarf der Engine zu reduzieren, was sich besonders bei großen Projekten wie Chromium bemerkbar macht. Die IDE ist jetzt reaktionsfreudiger und startet schneller.
Wenn Sie beim Debuggen auf ein zweidimensionales OpenCV-Array stoßen, können Sie es jetzt als in einem separaten Dialog als Bild anzeigen und verschiedene Bearbeitungsoptionen nutzen. Durch diese neue Funktion wird die Entwicklung von Anwendungen für Computer Vision und maschinelles Lernen einfacher und unkomplizierter.
Wir haben eine neue Konfigurationsoption Debug Servers hinzugefügt, um das Konfigurieren von Embedded- und Remote-Debugging zu erleichtern. Mit einem Debug-Server können Sie auswählen, auf welcher Debug-Sonde Sie Ihren Build ausführen oder debuggen möchten. Zuvor musste für jede Kombination aus Debug-Sonde und Build-Ziel eine eigene Run/Debug-Konfiguration eingerichtet werden.
In diesem Release hat unsere neue Sprachengine, CLion Nova, eine ganze Reihe wichtiger neuer Funktionen erhalten, darunter verschiedene sprachspezifische und UI-Updates. Wir haben auch einige größere Fehler behoben, darunter solche, die sich auf den Speicherbedarf ausgewirkt haben. Um den Wechsel von CLion Classic zu erleichtern, müssen Benutzer*innen nicht mehr unter Advanced Settings zur neuen Engine wechseln – wir bieten jetzt Umstiegsmöglichkeiten auf dem Begrüßungsbildschirm und im Menü Configuration.
Die Überlegenheit von CLion Nova gegenüber CLion Classic in Bezug auf Performance wird immer deutlicher. Aus diesem Grund glauben wir, dass CLion Nova bereit ist, nicht nur für neue Benutzer*innen, sondern für alle CLion-Anwender*innen zur Standard-Engine zu werden.
Uns ist jedoch bewusst, dass nicht alle bestehenden Benutzer*innen zum Umstieg bereit sind, und wir würden gerne die Gründe dafür erfahren. Daher würden wir uns freuen, wenn Sie uns sagen könnten, warum Sie CLion Classic gegenüber CLion Nova den Vorzug geben.
Sie können uns Ihr Feedback mitteilen, indem Sie im IDE-Hauptmenü Help | Submit Feedback... auswählen. Wir werden Ihre Rückmeldungen sorgfältig auswerten und uns bemühen, alle kritischen Probleme zu beheben, die Sie vom Umstieg auf CLion Nova abhalten könnten.
Wir haben zahlreiche Verbesserungen vorgenommen, um den Speicherbedarf von CLion Nova zu reduzieren. Das macht sich vor allem bei großen Projekten bemerkbar. Vergleicht man die Speichernutzung eines Chromium-Projekts in CLion Nova 2024.2 mit demselben Projekt in 2024.3, so zeigt sich eine Verringerung des Speicherbedarfs von 51% beim IDE-Frontend und von 15% beim IDE-Backend.
Für unsere Benutzer*innen bedeutet dies:
Die Funktionsaufruf-Hierarchie zeigt aufrufende und aufgerufene Funktionen hierarchisch an und hilft Ihnen dadurch, die Interaktionen zwischen Ihren Funktionen besser zu verstehen.
Um die Aufrufhierarchie anzuzeigen, wählen Sie eine Funktion im Editor aus und klicken Sie dann im Hauptmenü auf Navigate | Call Hierarchy oder drücken Sie die Tastenkombination ⌃⌥H (macOS) bzw. Strg+Alt+H (Windows/Linux).
Sie können jetzt unter Settings | Editor | Code Style | C/C++ | Set from... einen vordefinierten Codestil wie LLVM, Google, Qt oder GNU auswählen.
Wir haben in der Randleiste ein Symbol für rekursive Aufrufe hinzugefügt. So können Sie leichter erkennen, wo Ihr Code rekursive Funktionen verwendet, um potenzielle Fallen wie Stapelüberläufe vermeiden. Das Symbol wird auch in der Anrufhierarchie angezeigt.
Das Popup Quick Definition zeigt Ihnen, wo und wie Klassen-, Funktions-, Methoden- und andere Projektsymbole definiert sind. Zum Aufrufen setzen Sie die Einfügemarke auf ein Symbol im Editor und drücken dann ⌥Space (macOS) bzw. Strg+Umschalt+| (Windows/Linux). Sie können das Popup auch im Hauptmenü über View | Quick Definition aufrufen.
Wir haben eine neue Konfigurationsoption Debug Servers hinzugefügt, um das Konfigurieren von Embedded- und Remote-Debugging zu vereinfachen. In einem separaten Abschnitt unter Settings | Debugger können Sie einen auf gdbserver basierenden Debug-Server einrichten.
Zunächst müssen Sie Debug Servers unter Settings | Advanced Settings | Debugger aktivieren. Dann können Sie den Dialog Debug Servers in Settings | Debugger öffnen oder auf der Hauptsymbolleiste Edit Debug Servers anklicken.
Bitte beachten Sie, dass dies eine experimentelle Funktion ist, die noch nicht mit PlatformIO funktioniert. Es gibt jedoch einen Workaround. Probieren Sie ihn gerne aus geben Sie uns Feedback. Gerne können Sie sich auch zu einem kurzen Gespräch mit uns verabreden, um uns mehr über Ihre spezifischen Anwendungsfälle und Herausforderungen zu erzählen.
In dieser Version haben wir die Zephyr-West-Unterstützung um natives Debugging für West-Projekte erweitert. Dadurch können Sie unkompliziert Debugsitzungen in der IDE konfigurieren und starten.
Wenn Sie Ihr Zephyr-West-Projekt importieren, wird im Auswahlfeld Run/Debug Configurations automatisch eine Konfiguration für West erstellt. Sie haben auch die Möglichkeit, eine neue Run/Debug-Konfiguration über Run | Edit Configurations... im Hauptmenü zu erstellen.
Wenn Sie Board-Peripheriegeräte wie GPIO-Pins oder Timer debuggen, können Sie jetzt die Auswirkungen Ihrer Änderungen sofort sehen, indem Sie die Peripherieregister im Abschnitt Peripherals des Debug-Toolfensters bearbeiten.
MISRA C++:2023 ist die neueste Version von MISRA C++, eines Richtliniensatzes für die Verwendung von C++17 in sicherheitskritischen Systemen. Das CLion-Toolset für die statische Analyse enthält jetzt zahlreiche MISRA C++:2023-Checks.
Wenn Sie eine Computer-Vision- oder ML-Anwendung debuggen, die OpenCV verwendet, können Sie jetzt zweidimensionale OpenCV-Arrays als Bilder betrachten. Der Debugger zeigt solche Bilder in einem separaten Dialog an und bietet verschiedene Bearbeitungsoptionen und Funktionen, z. B. das Aktualisieren des Bildes bei jedem Debug-Schritt.
Klicken Sie im Dialog Threads & Variables des Debuggers auf View as image.
Beim Debuggen von Zeichenfolgen, die Zeilenumbrüche oder JSON-, XML- bzw. HTML-Daten enthalten, können diese mit dem jeweiligen Codestil formatiert direkt im Debugger angezeigt werden. Drücken Sie View neben einer Variablen, um die strukturierten oder Rohdaten in einem separaten Fenster einzusehen.
Sie können den Debugger jetzt an nicht gestartete lokale Prozesse anhängen. Diese lösen dann beim Starten automatisch das Debugging aus. Diese Funktion ist zum Beispiel hilfreich, wenn ein Teil Ihres Projekts in C++ geschrieben ist und in CLion ausgeführt wird, während ein anderer Teil in einer anderen Sprache geschrieben ist und in einer externen Umgebung läuft.
Zum Konfigurieren wählen Sie im Hauptmenü den Eintrag Run | Attach to an Unstarted Process... aus.
Wir haben die folgenden mit der IDE mitgelieferten Debugger aktualisiert:
Das aktualisierte Plugin für JetBrains AI Assistant, das auf unser intern trainiertes großes Sprachmodell für C++ zurückgreift, bietet eine noch schnellere und intelligentere cloudbasierte Code-Completion in CLion. Die Palette der Anwendungsszenarien wurde erweitert, wobei der verbesserte Suffixabgleich sicherstellt, dass das vorgeschlagene Codefragment den vorhandenen Code korrekt fortschreibt.
Eine der wichtigsten Verbesserungen betrifft die mehrzeilige Code-Completion, die um Syntaxhervorhebung und eine schrittweise Übernahme von Vorschlägen erweitert wurde.
Die mehrzeilige Code-Completion funktioniert parallel zur Standard-Code-Completion und der Ganzzeilen-Completion (letztere verwendet das lokale LLM und kommt ohne Datenübermittlung in die Cloud aus). So können Sie Vorschläge stückweise überprüfen und übernehmen. Sie können Vorschläge auch Wort um Wort übernehmen, indem Sie unter macOS ⌥→ und unter Windows Strg+→ drücken.
Wenn Sie gerade erst mit CLion loslegen, werden Ihnen die verbesserten Onboarding-Tipps helfen. Sie stellen Ihnen die Nutzung der wichtigsten IDE-Funktionen vor und vermitteln von Anfang an einen guten Überblick über die Möglichkeiten der IDE. Dadurch werden Sie sich schneller in CLion zurechtfinden.
Wir haben die Ablenkung durch Projektstatus-Benachrichtigungen verringert, indem wir sie vom oberen Rand des Editors in ein neues Widget in der Statusleiste verschoben haben. Wenn Sie jetzt zum Beispiel eine neue .cpp-Datei in Ihrem Projekt anlegen, erscheint das Symbol . Die Benachrichtigung, dass Ihre Datei keinem Projekt angehört, wird erst angezeigt, wenn Sie den Mauszeiger auf das Symbol bewegen. Wenn Sie das Symbol anklicken, bietet das Widget an, die Datei zum CMake-Projekt hinzuzufügen. Wenn Sie das nicht benötigen, können Sie das Popup-Fenster schließen, sodass nur noch das Symbol in der Statusleiste verbleibt.
Die Bedienoberfläche des neuen Terminals wurde kompakter gestaltet, um den Leerraum auf dem Bildschirm zu verringern. Dies verbessert den Überblick bei der Arbeit mit Befehlen, ohne die Lesbarkeit zu beeinträchtigen.
CLion hebt jetzt standardmäßig alle Vorkommen des ausgewählten Texts in allen Dateien – nicht nur .c und .cpp – hervor. So können Sie leichter erkennen, wo Ihr ausgewählter Text in der Datei verwendet wird. Wenn Sie das bisherige Verhalten bevorzugen, können Sie diese Funktion unter Settings | Editor | General | Appearance deaktivieren.
Das mitgelieferte CMake wurde auf Version 3.30.5 aktualisiert.