CLion 2024.3 est disponible :
Tour d'horizon des nouveautés de l'EDI C/C++ multiplateforme de JetBrains

CLion 2024.3 marque une nouvelle étape importante pour CLion Nova. Cette version considérablement améliorée du nouveau moteur de langage de JetBrains apporte plusieurs des fonctionnalités les plus attendues par les utilisateurs et elle est maintenant prête pour la plupart des cas d'utilisation. Cette mise à jour inclut également de nouvelles fonctionnalités pour le développement de systèmes embarqués, telles que les serveurs de débogage et la prise en charge du débogage natif pour Zephyr West. Un visionneur d'images OpenCV et la possibilité d'attacher le débogueur à un processus non démarré viennent compléter cette version 2024.3 de CLion.

Principales mises à jour

CLion Nova

Le nouveau moteur de langage plus rapide, CLion Nova, est désormais activé par défaut pour les nouveaux utilisateurs. Dans cette version, JetBrains a implémenté quelques-unes des fonctionnalités les plus attendues et corrigé plusieurs bugs majeurs. L'éditeur de logiciels pour développeurs envisage par la suite de faire de CLion Nova le moteur par défaut pour tous les utilisateurs, mais aimerait tout d'abord savoir si vous avez des préoccupations à ce sujet.

Améliorations pour l'utilisation de la mémoire dans CLion Nova

Les nombreuses améliorations que JetBrains a apportées à CLion Nova lui ont permis de réduire l'utilisation de la mémoire du moteur, ce qui est particulièrement visible dans les gros projets, tels que Chromium. L'EDI est maintenant plus réactif et rapide au démarrage.

Visionneur d'images OpenCV

Lorsque vous déboguez du code contenant un tableau OpenCV bidimensionnel, le débogueur vous permet maintenant de l'afficher sous forme d'image dans une boîte de dialogue séparée et d'utiliser plusieurs options d'édition. Cette nouvelle fonctionnalité facilite le développement d'applications de vision par ordinateur et de machine learning.

Serveurs de débogage (expérimental)

JetBrains a ajouté une nouvelle option de configuration, Debug Servers, qui facilite la configuration du débogage pour le développement de systèmes embarqués et le développement à distance. Avec un serveur de débogage, vous pouvez choisir quelle sonde de débogage utiliser pour exécuter ou déboguer votre build cible. Auparavant, il fallait mettre en place une configuration Run/Debug distincte pour chaque combinaison de sonde de débogage et de cible de build.

CLion Nova

Vos retours sont importants

Dans cette version, JetBrains a enrichi son nouveau moteur de langage, CLion Nova, de nombreuses fonctionnalités essentielles, telles que des mises à jour propres au langage ou à l'interface utilisateur. JetBrains a également corrigé des bugs majeurs, notamment ceux qui concernent l'empreinte mémoire. Afin de faciliter la transition depuis CLion Classic, l'éditeur de logiciels pour développeurs a inclus des options dans l'écran Welcome et dans le menu Configuration. Ainsi, les utilisateurs n'ont plus à remonter jusqu'à la section Advanced Settings pour activer le nouveau moteur.

Désormais, la supériorité de CLion Nova par rapport à CLion Classic en termes de performances est encore plus évidente. C'est pourquoi JetBrains pense que CLion Nova est prêt à devenir le moteur par défaut pour tous les utilisateurs de CLion.

Cependant, l'éditeur de logiciels reconnait que certains utilisateurs de l'ancienne version sont réticents à cette idée, et aimerait comprendre pourquoi. JetBrains attend donc vos retours pour savoir si vous préférez CLion Classic à CLion Nova et quelles en sont les raisons, si c'est le cas.

Vous pouvez partager vos retours en sélectionnant Help | Submit Feedback... dans le menu principal de l'EDI. JetBrains les examinera attentivement et tentera de corriger tous les problèmes critiques qui pourraient vous empêcher d'adopter CLion Nova.

Améliorations pour l'utilisation de la mémoire

JetBrains a apporté de nombreuses améliorations à CLion Nova afin de réduire son empreinte mémoire, ce qui est particulièrement visible dans les grands projets. En comparant l'utilisation de la mémoire d'un projet Chromium dans CLion Nova 2024.2 par rapport au même projet dans la version 2024.3, JetBrains constate que le frontend de l'EDI utilise 51 % de mémoire en moins, tandis que le backend en utilise 15 % en moins.

Pour les utilisateurs, cela signifie que :

  • L'EDI est maintenant plus réactif, car il consomme moins de mémoire et appelle moins souvent le ramasse-miettes.
  • L'EDI peut fonctionner plus rapidement et réagit plus rapidement en cas de modifications dans le projet.

Hiérarchie d'appels

La hiérarchie des appels de fonctions affiche les hiérarchies des méthodes appelantes et appelées pour vous aider à comprendre comment vos fonctions interagissent.

Pour afficher la hiérarchie d'appels, sélectionnez une fonction dans l'éditeur, puis choisissez Navigate | Call Hierarchy dans le menu principal ou utilisez le raccourci ⌃⌥H (macOS) ou Ctrl+Alt+H (Windows/Linux).


Styles de code prédéfinis provenant d'autres projets et frameworks

Vous pouvez désormais sélectionner un style de code prédéfini, tel que LLVM, Google, Qt ou GNU, via Settings | Editor | Code Style | C/C++ | Set from....

Icône de la gouttière pour les appels récursifs

JetBrains a ajouté une icône à la gouttière pour les appels récursifs. Cela permet de vérifier plus facilement l'utilisation de fonctions récursives dans votre code et d'éviter des situations potentiellement néfastes, telles que les dépassements de pile. Cette icône apparaît également dans la hiérarchie d'appels.

Prise en charge de Quick Definition

La fenêtre contextuelle Quick Definition indique où et comment sont définis les classes, les fonctions, les méthodes et autres symboles d'un projet. Pour l'appeler, placez le curseur sur un symbole dans l'éditeur et appuyez sur ⌥Espace (macOS) ou Ctrl+Maj+| (Windows/Linux). Elle est également accessible depuis le menu principal via View | Quick Definition.


Développement embarqué

Serveurs de débogage (expérimental)

JetBrains a ajouté une nouvelle option de configuration appelée Debug Servers, afin de simplifier le processus de configuration du débogage pour le développement de systèmes embarqués et de développement à distance. Il s'agit d'une section distincte disponible dans Settings | Debugger, dans laquelle vous pouvez configurer un serveur de débogage basé sur gdbserver.

Commencez par activer Debug Servers dans la section Settings | Advanced Settings | Debugger. Puis, ouvrez la boîte de dialogue Debug Servers dans Settings | Debugger ou appelez Edit Debug Servers depuis le sélecteur de la barre d'outils principale.

Veuillez noter qu'il s'agit d'une fonctionnalité expérimentale qui ne fonctionne pas encore avec PlatformIO. Cependant, il existe une solution de contournement. JetBrains vous invite à l'essayer et à lui faire part de vos retours.

Prise en charge du débogage pour West

Cette version de CLion étend la prise en charge de Zephyr West en ajoutant la possibilité de déboguer nativement des projets West. Cela facilite la configuration et l'exécution des sessions de débogage dans l'EDI.

Lorsque vous importez votre projet Zephyr West, une configuration Run/Debug West est automatiquement créée dans le sélecteur Run/Debug Configurations. Vous pouvez également créer une nouvelle configuration Run/Debug via Run | Edit Configurations... dans le menu principal.

Valeurs modifiables des registres de périphériques

Lors du débogage de périphériques de microcontrôleur, tels que des broches GPIO ou des minuteurs, vous pouvez désormais voir immédiatement l'effet de vos modifications en éditant les registres des périphériques dans le panneau Périphériques de la fenêtre Débogage.

Prise en charge de MISRA C++:2023 avec CLion Nova

MISRA C++:2023 est la dernière édition de MISRA C++, qui fournit des directives pour l'utilisation de C++17 dans les systèmes ayant des exigences de sécurité accrues. L'ensemble d'outils d'analyse statique de CLion inclut désormais un nombre significatif de vérifications de MISRA C++:2023.

Débogueur

Visionneur d'images OpenCV

Si vous déboguez une application de vision par ordinateur ou de machine learning qui utilise OpenCV, vous pouvez maintenant afficher un tableau OpenCV bidimensionnel sous forme d'image. Le débogueur affiche ces images dans une boîte de dialogue distincte et propose différentes options d'édition ainsi que des fonctionnalités telles que la mise à jour de l'image étape par étape.

Dans la boîte de dialogue Threads & Variables du débogueur, cliquez sur View as image.


Vue formatée pour les chaînes contenant des données JSON, XML ou HTML

Lors du débogage de chaînes contenant des caractères de saut de ligne ou des données JSON, XML et HTML, vous pouvez les afficher formatées en fonction de leur style de code directement dans le débogueur. Appuyez sur View à côté d'une variable et vous pourrez voir les données structurées ou brutes dans une fenêtre distincte.

Possibilité d'attacher le débogueur à un processus non démarré

Vous pouvez désormais attacher le débogueur à des processus locaux non démarrés. Ces derniers déclenchent ensuite automatiquement le débogage lorsqu'ils sont démarrés. Cette fonctionnalité est notamment utile lorsqu'une partie de votre projet est écrite en C++ et s'exécute dans CLion, tandis qu'une autre est écrite dans un autre language et s'exécute dans un environnement externe.

Pour la configurer, sélectionnez Run | Attach to an Unstarted Process... dans le menu principal.


Mises à jour des outils intégrés

JetBrains a mis à jour les débogueurs intégrés suivants :

  • GDB a été mis à jour vers la version 15.2.
  • LLDB a été mis à jour vers la version 19.1.3.

AI Assistant

La mise à jour du plugin AI Assistant de JetBrains, qui utilise le propre LLM de JetBrains entrainé pour C++, rend la saisie semi-automatique de code cloud dans CLion plus rapide et plus intelligente. Elle offre une gamme de cas d'utilisation plus étendue, avec une mise en correspondance améliorée des suffixes, afin de garantir que le fragment de code déduit complète correctement le code existant.

L'une des améliorations les plus importantes est la saisie semi-automatique de code multiligne, qui a été mise à jour pour inclure la mise en évidence de la syntaxe et l'acceptation incrémentale des suggestions de code.

La saisie semi-automatique de code multiligne fonctionne en conjonction avec la saisie semi-automatique de code standard et la saisie semi-automatique de code en ligne entière (cette dernière utilise le LLM local et n'implique pas l'envoi de données vers le cloud). Cela vous permet d'examiner et d'accepter les suggestions graduellement. Vous pouvez également accepter les suggestions mot par mot au moyen des raccourcis ⌥→ pour macOS et Ctrl+→ pour Windows.


Autres améliorations

Conseils d'intégration pour un nouveau projet C++

Si vous venez de commencer à utiliser CLion, vous avez sans doute remarqué les conseils d'intégration conçus pour aider les nouveaux utilisateurs à se familiariser avec l'EDI. Ils indiquent comment utiliser les fonctionnalités clés de l'EDI et permettent de se faire une idée plus claire de ses possibilités dès le départ. Cela réduit le temps nécessaire pour maîtriser l'utilisation de CLion.

Widget d'état du projet

JetBrains a rendu les notifications d'état du projet plus discrètes en les déplaçant du haut de l'éditeur vers un nouveau widget dans la barre d'état. Ainsi, si vous créez un fichier .cpp dans votre projet, par exemple, l'icône d'avertissement ⚠️ s'affiche. La notification indiquant que votre fichier n'appartient à aucun projet ne s'affichera que lorsque vous survolerez cette icône. Si vous cliquez sur l'icône, le widget vous proposera d'ajouter le fichier au projet CMake. Si vous n'en avez pas besoin, vous pouvez fermer la fenêtre contextuelle, et l'icône ne restera que dans la barre d'état.


Interface utilisateur mise à jour pour le nouveau terminal

L'interface du terminal est désormais plus compacte, réduisant l'espacement entre les éléments pour maximiser l'utilisation de l'écran. Cela améliore également la visibilité lorsque vous travaillez avec des commandes sans pour autant gêner la lisibilité

Mise en évidence des occurrences du texte sélectionné

Par défaut, CLion met maintenant en évidence toutes les instances du texte sélectionné quel que soit le fichier, et non plus seulement pour les fichiers .c et .cpp. Cela facilite le suivi des endroits dans lesquels le texte sélectionné apparaît dans le fichier. Si vous préférez le comportement précédent, vous pouvez désactiver cette fonctionnalité via Settings | Editor | General | Appearance.

Nouvelle version de CMake

La version intégrée de CMake a été mise à jour vers 3.30.5.

Nouveautés et téléchargement de CLion 2024.3