Nouveautés de CLion 2025.1

CLion 2025.1 apporte de nouvelles fonctionnalités et améliorations au moteur de langage CLion Nova, ainsi que des mises à jour pour le débogage, le développement de systèmes embarqués et les formats de projets. Il offre également des fonctionnalités gratuites et améliorées de l'AI Assistant, telles que le traitement des prompts en langage naturel dans votre code C/C++ et les modifications de plusieurs fichiers directement depuis le chat.

Principales mises à jour

Prise en charge des fichiers hors projet dans CLion Nova

CLion Nova fournit maintenant une analyse complète du code et une fonctionnalité d'assistance au code pour les fichiers d'en-tête et de code source qui ne sont pas inclus dans un projet. Cela peut notamment être utile lorsque vous devez juste modifier du code dans un fichier .cpp qui ne fait pas partie du build.

En savoir plus

Rendus Qt dans le débogueur

Lorsque vous examinez une application Qt suspendue, le débogueur vous permet désormais d'afficher les variables sous une forme lisible par l'homme. Cela facilite le développement et le débogage des applications multiplateformes avec le framework Qt dans CLion.

En savoir plus

Serveur de débogage ST-LINK expérimental

Nous avons ajouté un modèle de serveur de débogage ST-LINK conçu spécifiquement pour les puces STM32. Il contient uniquement les paramètres les plus basiques et essentiels, afin de simplifier le débogage des projets STM32.

En savoir plus

Options west build et prise en charge de sysbuild

Lorsque vous travaillez sur des projets Zephyr, vous pouvez désormais utiliser les options de commande west build, ainsi que sysbuild comme principal système de build. Cela donne davantage de flexibilité lors de la configuration des projets Zephyr, notamment ceux qui impliquant du hardware.

En savoir plus

Gratuité des fonctionnalités de l'AI Assistant

Toutes les fonctionnalités de l'AI Assistant sont maintenant gratuites dans CLion et dans d'autres IDE JetBrains. Certaines de ces fonctionnalités, comme la complétion de code et la prise en charge de modèles locaux, sont disponibles en illimité, tandis que d'autres sont utilisables avec des limitations basées sur un système de crédits. Un nouveau système d'abonnement permet une mise à niveau simplifiée en fonction de l'évolution de vos besoins, avec les forfaits AI Pro et AI Ultimate.

Les nouvelles fonctionnalités incluent la modification de plusieurs fichiers directement depuis le chat et la prise en charge de modèles cloud, tels que Claude 3.7 Sonnet, OpenAI GPT-4.1 (próximamente) et Gemini 2.0 Flash.

En savoir plus

CLion Nova

Fichiers en dehors du projet

CLion Nova prend désormais correctement en charge les fichiers d'en-tête et de code source qui ne sont pas inclus dans un projet et ne sont pas utilisés lors du processus de build. Cela signifie que vous disposez de fonctionnalités complètes d'analyse et d'assistance au codage lorsque vous travaillez avec ces fichiers, comme s'ils appartenaient au projet.

Par exemple, vous pouvez ouvrir un fichier .cpp qui n'est pas inclus dans votre projet pour ne modifier que quelques fragments de code. Vous pouvez désormais faire cela tout en profitant de l'ensemble des fonctionnalités essentielles, telles que le formatage du code, l'assistance au typage, la saisie semi-automatique du code, et bien plus encore.

L'implémentation actuelle couvre la plupart des utilisations, et nous travaillons également sur la collecte des retours clients pour résoudre certains cas particuliers.

Prise en charge des principales fonctionnalités d'Objective-C

Vous bénéficiez ainsi de la mise en évidence des éléments de syntaxe, d'avertissements, de suggestions de saisie semi-automatique du code et d'autres fonctionnalités propres à clangd lorsque vous travaillez avec les fichiers de code source Objective-C.

Dans la mesure où il s'agit d'une prise en charge limitée, certaines fonctionnalités, telles que les touches intelligentes (Smart Keys) de l'éditeur et les refactorisations, peuvent ne pas fonctionner. De plus, CLion Nova risque de ne pas traiter les fichiers d'en-tête Objective-C correctement. Si la prise en charge intégrale d'Objective-C dans CLion Nova vous intéresse, merci de suivre ou de voter pour CPP-37281.

Paramètres, actions et touches intelligentes

CLion Nova inclut désormais des paramètres, des actions et des touches intelligentes qui étaient précédemment disponibles uniquement dans CLion Classic. Cela rend le développement avec CLion Nova encore plus pratique. En voici quelques exemples :

  • Options d'auto-importation de C/C++, telles que Auto import local files with quotes et Auto import on completion.
  • Certaines actions de l'éditeur, avec notamment la possibilité de déplacer le curseur au début ou à la fin d'un bloc de code en utilisant un raccourci.
  • Certaines touches intelligentes, telles que Unindent on Backspace et Surround selection on typing quote or brace.

Prise en charge de GoogleTest et Catch2 dans les projets Bazel

CLion Nova prend désormais en charge l'utilisation des frameworks de test GoogleTest et Catch2 dans les projets Bazel.

Pour en savoir plus sur les bases des tests unitaires et l'utilisation des outils de test dans CLion, consultez notre tutoriel.

Débogueur

Moteurs de rendu Qt

Les moteurs de rendu Qt, également appelés « pretty printers » ou « assistants de débogage Qt », permettent de visualiser les variables Qt, telles que QString, QList et QByteArray sous une forme compréhensible par les humains. Cela simplifie considérablement le développement et le débogage des applications créées avec le framework Qt.

Cette fonctionnalité est activée par défaut. Vous pouvez la désactiver en suivant la procédure ci-dessous.

  1. Allez dans la section Settings | Build, Execution, Deployment | Debugger | Data Views | C/C++ | Renderers.
  2. Cliquez sur Download… près du champ Qt renderers.
  3. Lorsque la fenêtre Download Qt Renderers s'affiche, cliquez sur Download Qt Renderers. Une fois le téléchargement terminé, le chemin est spécifié automatiquement.
  4. Cliquez sur OK.

Il est à noter que les moteurs de rendu Qt ne fonctionnent pas encore avec les chaînes d'outils distantes et WSL.

Prise en charge des débogueurs LLDB personnalisés

En plus du LLDB intégré, qui est actuellement la version 19.1.3, vous pouvez désormais utiliser un LLDB personnalisé lorsque vous travaillez sous macOS ou Linux. Cela vous permet de choisir la version de LLDB la mieux adaptée à votre projet.

Allez dans Settings | Toolchains et sélectionnez Custom LLDB executable dans le champ Debugger. CLion recherche automatiquement le LLDB personnalisé qui est installé sur votre système. Vous pouvez également spécifier manuellement son emplacement.

Les limitations actuelles :

  • Les LLDB personnalisés ne fonctionnent pas encore avec les chaînes d'outils WSL, Docker ou Remote Host.
  • Les LLDB personnalisés sont disponibles pour macOS et Linux, mais ne sont pas encore pris en charge par Windows.

Option d'affichage des matrices OpenCV à deux canaux sous forme d'images

Lors du débogage d'une application de vision par ordinateur ou de ML utilisant OpenCV, vous pouvez afficher les matrices OpenCV sous forme d'images. CLion 2025.1 étend cette fonctionnalité, en vous permettant d'afficher les matrices à deux canaux, telles que cv::Mat m(2, 3, CV_8UC2) sous forme d'images.

Pour afficher une matrice OpenCV à deux canaux dans votre code sous forme d'image, sélectionnez le volet Threads & Variables du débogueur, accédez à la matrice et cliquez sur View as image.

Emplacement personnalisé des fichiers .natvis

Les moteurs de rendu ou visualiseurs Natvis permettent de définir des règles de visualisation pour différents types de données lorsque vous travaillez avec le débogueur MSVC. Auparavant, CLion ne pouvait charger les fichiers .natvis que depuis un répertoire de projet, ce qui n'était pas pratique, surtout en cas d'utilisation de Git ou d'autres systèmes de contrôle de version. Désormais, vous pouvez spécifier un emplacement personnalisé pour vos fichiers .natvis.

Allez dans Settings | Build, Execution, Deployment | Debugger | Data Views | C/C++ et ajoutez un répertoire avec les moteurs de rendu Natvis. Vous trouverez plus de détails sur l'utilisation des fichiers Natvis dans la documentation.

Développement embarqué

Lors du débogage des projets STM32, vous pouvez utiliser le modèle de serveur de débogage ST-LINK, qui a été conçu spécifiquement pour les composants STM32. Il contient uniquement les paramètres essentiels, afin de simplifier le processus de configuration.

Allez dans la section Settings | Build, Execution, Deployment | Debugger | Debug Servers, cliquez sur + et sélectionnez le modèle ST-LINK. Configurez ensuite votre serveur de débogage, votre appareil et vos paramètres de débogage.

Notez que l'option de configuration ST-LINK fonctionne uniquement avec :

  • Le serveur GDB ST-LINK fourni avec STM32CubeCLT et STM32CubeIDE.
  • Les sondes ST-LINK/V2 et ST-LINK/V3.
  • Les MCU à un et deux cœurs.

Assistant New Project de STM32CubeMX

Nous avons mis à jour le processus de création de projet STM32CubeMX pour en faciliter l'utilisation et étendre la prise en charge à une plus vaste gamme de composants et projets STM32. En utilisant l'approche native de STM32CubeMX pour générer des fichiers CMake, CLion s'assure que la création de projet est parfaitement alignée avec le workflow officiel STM32CubeMX et la chaînes d'outils.

Nous allons continuer d'améliorer l'assistant New Project de STM32CubeMX et vos retours sont précieux (CPP-42553).

Améliorations du plugin Serial Port Monitor

Vous pouvez désormais afficher et gérer les signaux de contrôle du matériel DTR, DSR, RTS et CTS lorsque vous travaillez avec le plugin Serial Port Monitor. Cela vous donne plus de contrôle sur les périphériques connectés qui utilisent un port série, tels qu'Arduino et ESP32.

Pour activer les signaux de contrôle du matériel :

  • Dans la fenêtre d'outils Serial Connections, accédez à l'onglet Connect.
  • Sélectionnez le port COM voulu.
  • Cochez la case Show HW controls.

Les options et les indicateurs de contrôle s'affichent dans l'onglet du port COM.

Vous pouvez également afficher l'horodatage dans la sortie du moniteur, ce qui permet de suivre les séquences de messages de façon détaillée.

Formats de projet et outils de build

Options west build et prise en charge de sysbuild

Lorsque vous travaillez sur des projets Zephyr, vous pouvez désormais utiliser les options de commande west build, ainsi que sysbuild comme principal système de build. Ces deux fonctionnalités apportent davantage de flexibilité lors de la configuration des projets Zephyr, notamment ceux qui impliquent une partie matérielle.

Utilisez Settings | Build, Execution, Deployment | Embedded Development | West | Advanced Settings pour transférer des paramètres supplémentaires pour la commande west build : par exemple, le chemin d'une carte personnalisée ou des options pour l'outil de build sous-jacent.

Sysbuild permet de créer plusieurs images pour les cartes avec plusieurs SoC (systems on chip) ou des SoCs avec plusieurs cœurs de processeur. Vous pouvez activer sysbuild depuis la même section Advanced Settings en transférant --sysbuild avec les options que vous voulez.

CMake Presets version 10

La version intégrée de CMake est désormais la version 3.31.4 et prend en charge CMake Presets version 10. Les presets sont stockés dans des fichiers JSON et permettent de spécifier des options communes de configuration et de build pour un projet CMake, afin de les partager avec les autres utilisateurs.

Mises à jour de l'AI Assistant

Niveau gratuit, nouveaux modèles cloud et bien plus encore

Toutes les fonctionnalités de l'AI Assistant sont désormais gratuites dans CLion et les autres JetBrains IDEs, ce qui rend le développement assisté par IA plus accessible et efficace. Certaines de ces fonctionnalités, comme la complétion de code et la prise en charge de modèles locaux, sont disponibles en illimité, tandis que d'autres sont utilisables avec des limitations basées sur un système de crédits. Un nouveau système d'abonnement permet une mise à niveau simplifiée en fonction de l'évolution de vos besoins, avec les forfaits AI Pro et AI Ultimate.

D'autres améliorations augmentent la productivité et réduisent les tâches répétitives :

  • Saisie semi-automatique du code plus intelligente.
  • Prise en charge de nouveaux modèles cloud, tels que Claude 3.7 Sonnet, OpenAI GPT-4.1 (bientôt disponible) et Gemini 2.0 Flash.
  • Contextualisation avancée basée sur RAG.
  • Nouveau mode d'édition pour modifier plusieurs fichiers directement depuis le chat.

Prompts inline en langage naturel pour C/C++

L'AI Assistant comprend les prompts en langage naturel pour C/C++. Lorsque vous écrivez un prompt et appuyez sur Tab, l'AI Assistant l'interprète et modifie le code en tenant compte du contexte de votre projet. Si vous souhaitez améliorer une partie des modifications suggérées, vous pouvez les annuler, modifier votre prompt ou ajouter un message de suivi.