Das ist neu in CLion 2024.3

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.

Wichtige Updates

CLion Nova

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.

Weitere Informationen

Optimierte Speichernutzung in CLion Nova

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.

Weitere Informationen

Meson-Unterstützung

OpenCV-Bildbetrachter

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.

Weitere Informationen

VCS-Verbesserungen

Debug-Server experimentell

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.

Weitere Informationen

CLion Nova

Live-Templates

Wir benötigen Ihr Feedback

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.

Sparsamere Speichernutzung

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 IDE ist jetzt reaktionsfreudiger, da sie weniger Speicher belegt und so der Garbage Collector weniger anspringen muss.
  • Die IDE arbeitet schneller und reagiert zügiger auf Projektänderungen.

Aufrufhierarchie

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).

Vordefinierte Codestile aus anderen Projekten und Frameworks

Sie können jetzt unter Settings | Editor | Code Style | C/C++ | Set from... einen vordefinierten Codestil wie LLVM, Google, Qt oder GNU auswählen.

Randleistensymbol für rekursive Aufrufe

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.

Unterstützung für Schnelldefinitionen

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.

Embedded-Entwicklung

Debug-Server experimentell

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.

Debugging-Unterstützung für West

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.

Editierbare Peripherie-Registerwerte

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.

Unterstützung für MISRA C++:2023 in CLion Nova

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.

Debugger

OpenCV-Bildbetrachter

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.

Formatierte Darstellung von Zeichenfolgen mit JSON-, XML- oder HTML-Daten

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.

Debugger an nicht gestarteten Prozess anhängen

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.

Bundle-Updates

Wir haben die folgenden mit der IDE mitgelieferten Debugger aktualisiert:

  • GDB wurde auf 15.2 aktualisiert.
  • LLDB wurde auf 19.1.3 aktualisiert.

AI Assistant

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.

Andere Verbesserungen

Onboarding-Tipps für ein neues C++-Projekt

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.

Projektstatus-Widget

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.

Typprüfungen für Eigenschaften

Aktualisierte Bedienoberfläche für das neue Terminal

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.

Typprüfungen für Eigenschaften

Hervorhebung aller Vorkommen des ausgewählten Texts

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.

Neue CMake-Version

Das mitgelieferte CMake wurde auf Version 3.30.5 aktualisiert.