Nouveautés de CLion 2025.2

CLion 2025.2 apporte de nouvelles améliorations au moteur de langage CLion Nova, avec notamment le formateur remanié. Il offre également de nouvelles fonctionnalités de développement embarqué, telles que des surveillances permettant de suivre les variables globales en temps réel sans interrompre le programme. Nous avons également mis à jour le widget d'état du projet et étendu les fonctionnalités de l'intégration GoogleTest.

Principales mises à jour

Formateur de CLion Nova amélioré

Nous avons considérablement amélioré le formateur de code C/C++, le widget de barre d'état correspondant, ainsi que l'interface utilisateur du widget et des paramètres. Le principal résultat de cette amélioration est que la relation entre la taille du retrait de texte de l'éditeur, les informations du widget de la barre d'état et les paramètres du formateur est désormais cohérente et claire. Vous pouvez également configurer d'autres options de formateur, telles que ClangFormat, Indents Detection ou EditorConfig, directement depuis le widget, sans avoir à passer par les paramètres.

Développement à distance plus rapide avec CLion Nova

Nous avons amélioré les performances et la réactivité de CLion Nova pour le travail à distance. L'assistant de saisie s'exécute désormais sur le client léger au lieu du serveur. Cela signifie que, dans certaines situations, vous n'avez plus à attendre la réponse du backend et que votre connexion Internet n'affecte plus la réactivité de l'IDE. Des fonctionnalités telles que l'insertion automatique des paires de parenthèses <>, [] ou (), ou l'indentation intelligente lorsque vous appuyez sur la touche Retour arrière sont désormais aussi rapides que lorsque vous travaillez localement.

Il est à noter que certaines fonctionnalités d'assistance au typage n'ont pas encore été portées sur le client léger, mais nous y travaillons.

Surveillance en temps réel dans le débogueur

Cette fonctionnalité permet de suivre les variables globales en temps réel sans suspendre l'exécution du programme. Cela est particulièrement utile pour les développeurs de systèmes embarqués qui travaillent avec des protocoles pour lesquels la synchronisation est cruciale, tels que Bluetooth ou Zigbee, ou sur des processus physiques qui requièrent un fonctionnement ininterrompu, tels que les commandes de moteurs électriques ou les échantillonnages de capteurs en temps réel.

Cette fonctionnalité est activée par défaut. Pour l'utiliser, assurez-vous que l'option Debug Servers est activée dans Settings | Advanced Settings | Debugger. Les surveillances en temps réel ne fonctionnent actuellement qu'avec les serveurs de débogage SEGGER J-Link et ST-LINK, ou le serveur générique s'il est connecté aux sondes de débogage SEGGER J-Link ou ST-LINK. Vous trouverez plus de détails sur les autres limitations dans la documentation.

Serveur de débogage ESP32

En complément des serveurs de débogage génériques, SEGGER J-Link et STM32, vous disposez désormais d'un serveur spécialement conçu pour les projets ESP-IDF. Il contient uniquement les paramètres les plus basiques et essentiels, tout le reste étant préconfiguré pour simplifier le processus de configuration.

Allez dans la section Settings | Build, Execution, Deployment | Debugger | Debug Servers, cliquez sur + et sélectionnez le modèle ESP-IDF. Ici, vous pouvez configurer les paramètres de votre serveur de débogage, périphérique et débogueur. Si vous avez besoin d'options de configuration plus détaillées, vous pouvez convertir votre serveur de débogage ESP-IDF en serveur générique.

CLion Nova

Correctifs concernant des erreurs de compilation non détectées

Auparavant, CLion Nova ignorait parfois certaines erreurs de compilation lorsqu'il analysait votre code source et n'affichait pas les avertissements correspondants dans l'éditeur. Par conséquent, ces erreurs s'affichaient uniquement dans le terminal une fois le build terminé. Désormais, CLion Nova détecte toutes les erreurs avant que vous ne cliquiez sur Build, Run ou Debug.

Amélioration de la prise en charge de GoogleTest

Nous avons étendu les possibilités de notre intégration GoogleTest dans CLion Nova, de sorte que les fonctionnalités GoogleTest de CLion Nova correspondent à celles de CLion Classic. L'une des fonctionnalités essentielles est la prise en charge de la macro TEST_P. Elle est utile pour les tests paramétrés où vous devez exécuter la même logique de test avec différentes valeurs d'entrée. Désormais, vous pouvez exécuter un test paramétré en cliquant sur le bouton Run vert dans la gouttière, près d'une fonction TEST_P.

Autres améliorations

Widget d'état du projet mis à jour

Nous avons amélioré la fonctionnalité et l'interface utilisateur du widget d'état du projet en rendant ses avertissements plus visibles et interactifs. Par exemple, si votre fichier n'appartient pas à un projet, vous pouvez remédier à cela en cliquant sur le lien correspondant. Vous pourrez alors :

  • Configurer un projet CMake
  • Paramétrer une configuration d'exécution pour le fichier actif
  • Créer un fichier c_cpp_properties.json

Si l'avertissement est sans rapport avec la tâche en cours, il est désormais possible de simplement fermer la bannière, une option qui n'était pas disponible précédemment. Un exemple de ce dernier cas serait l'ouverture d'un fichier en dehors du projet pour analyser son code.

Suppression des exceptions de bas niveau dans le débogueur

Pendant le débogage, vous pouvez désormais supprimer les exceptions de bas niveau déclenchées par __debugbreak() ou un code assembleur inline avec int3. Cela est particulièrement utile lors du débogage de projets de jeu complexes, car vous pouvez ainsi ignorer les assertions de bas niveau du moteur de jeu qui déclenchent les points d'arrêt manuels. Cette fonctionnalité vous donne davantage de contrôle sur les exceptions de bas niveau et les signaux. Vous pouvez choisir quand arrêter le débogueur et quand poursuivre le débogage.

CLion et Rider partagent cette fonctionnalité et vous pouvez consulter cet article de blog de l'équipe Rider pour plus de détails sur son fonctionnement et sa configuration.

Pour en savoir plus sur les autres nouveautés de la version 2025.2, consultez notre article de blog.