CMake
Débogueur CMake
CMake est un langage de systèmes de build. La recherche d'erreurs et la détection de comportements suspects dans un script CMake n'est donc pas toujours évidente. Avec CLion 2022.3, vous pouvez maintenant déboguer les scripts CMake comme vous le feriez pour du code normal. Définissez des points d'arrêt, parcourez le code et observez les variables et les cibles CMake.
Assistance au codage dans CMakeLists.txt
L'éditeur de fichiers CMake dans CLion se dote de nouvelles capacités pour faciliter l'édition des fichiers CMakeLists.txt. Cette prise en charge inclut :
- Les paramètres de police et de couleur de CMake, que vous pouvez trouver dans Settings | Editor | Color Scheme | CMake.
- La possibilité de développer et de réduire les diverses régions de code dans CMake.
- La saisie semi-automatique du code find_package pour les paquets intégrés à CMake.
- La documentation des commandes CMake dans la saisie semi-automatique du code.
- La vue de la structure CMake.
- La mise en évidence des commandes obsolètes dans CMake (barrées).
Add to CMake Project
Si un fichier dans votre projet basé sur CMake n'appartient à aucune cible CMake, l'assistance au codage CLion est limitée dans ce fichier. Un nouveau correctif rapide Add to CMake Project affiché dans la barre de notification vous aidera à ajouter un fichier à la cible CMake existante.
L'action est également disponible dans le menu contextuel de la vue du projet lorsqu'elle est appelée sur le fichier.
Cibles CMake avec privilèges racine
Si vous ajoutez une cible CMake en tant que tâche supplémentaire avant de lancer la configuration d'exécution/débogage sélectionnée, la cible peut désormais être exécutée avec des privilèges administratifs.
Modules C++20
Les modules font leur apparition dans C++20 pour éliminer un grand nombre des problèmes liés à l'utilisation des fichiers d'en-tête en isolant les déclarations et en limitant leur visibilité au module. On peut également espérer que les modules permettront de raccourcir la durée de compilation dans de nombreux cas. CLion 2022.3 prend en charge les modules pour vous aider à utiliser cette excellente fonctionnalité du langage.
Mise en évidence de la syntaxe
CLion collecte et analyse les informations sur les modules à partir de tous les fichiers .ixx, .cppm et .mxx du projet. Il fournit ensuite une mise en évidence de la syntaxe pour les nouveaux mots-clés de module comme import, export et module.
Saisie semi-automatique
CLion propose la saisie semi-automatique du code pour les symboles des modules.
Navigation
L'EDI C/C++ vous permet d'accéder à la déclaration/définition des symboles des modules en un seul clic.
Find Usages et refactorisations
Find Usages et les refactorisations fonctionnent comme d'habitude à l'intérieur des modules. Une première version des refactorisations Rename, Change Signature et Extract dépassant les limites des modules ne fonctionne que pour les fichiers ouverts dans CLion.
Fichier unique
Si vous n'avez qu'un ou deux fichiers C++ dans lesquels vous écrivez du code et que vous voulez ensuite compiler et exécuter, vous n'avez plus besoin de CMake ou d'un autre modèle de projet pour les ouvrir dans CLion. Une nouvelle option permet de compiler et d'exécuter un fichier C ou C++ unique.
Nouvelle configuration C/C++ File
Un nouveau type de configuration d'exécution/débogage (C/C++ File) vous permet de configurer rapidement la chaîne d'outils, les fichiers sources et les options de compilation. Une fois créé, il vous permet de compiler et d'exécuter les fichiers sélectionnés.
Icône d'exécution
Lorsque vous ouvrez un fichier ou un dossier C/C++ à l'aide de l'action Open de l'assistant de bienvenue, l'icône d'exécution s'affiche dans la gouttière de gauche et vous permet d'exécuter ou de déboguer le fichier en cours.
Une configuration C/C++ File est nécessaire. En son absence, une configuration est automatiquement créée lorsque vous cliquez sur l'icône d'exécution.
Lorsque le débogage est sélectionné, CLion ajoute automatiquement les indicateurs de compilation requis pour générer des informations de débogage (c'est-à-dire -g pour GCC et Clang, ou des options similaires pour MSVC). Aucune modification de la configuration n'est donc nécessaire.
Scripts Linker
Si vous développez des systèmes embarqués, il y a de fortes chances que vous ayez besoin d'écrire des scripts linker. CLion 2022.3 est désormais doté d'une prise en charge du langage Linker Script (LD), qui comprend :
- La mise en évidence du code dans les fichiers LD, que vous pouvez configurer dans Settings | Editor | Color Scheme | LinkerScript.
- La saisie automatique du code.
- La vue de la structure des commandes de niveau supérieur.
- Le repliage du code pour les blocs sections, memory et phdrs.
- L'ajout ou la suppression de commentaires au code
- Find Usages pour les cas simples.
Améliorations de Clang-Tidy
Le binaire Clang-Tidy a été mis à jour à la version 16.0.0 dans cette version, apportant de nouvelles vérifications et divers correctifs LLVM.
Les paramètres de Clang-Tidy (Settings | Editor | Inspections | C/C++ | Static Analysis Tools | Clang-Tidy) ont été actualisés et la documentation détaillée s'affiche désormais sur la gauche.
Dans l'infobulle Clang-Tidy de l'éditeur, cliquez sur l'icône à trois points sur la droite et choisissez Show Inspection Description pour obtenir une courte description d'une vérification Clang-Tidy. Utilisez le lien spécial Learn More pour accéder à la boîte de dialogue des paramètres et obtenir plus d'informations sur la vérification.
Documentation
Taille du type
La fenêtre contextuelle Quick Documentation affiche désormais la taille du type. Comme les autres inspections, celle-ci utilise les indicateurs du modèle de projet que CLion transmet à Clangd. Cela permet à l'EDI de calculer la taille correcte même dans les cas de compilation croisée.
Documentation sur cppreference.com
CLion peut désormais vous aider à approfondir vos connaissances sur les fonctions, structures et autres éléments standard de votre base de code. Utilisez le lien dans la fenêtre contextuelle Quick Documentation ou l'action External documentation (Maj+F1) pour ouvrir les articles de cppreference.com dans un navigateur web. Cela fonctionne pour tout ce qui a une définition dans l'espace de noms std et qui est susceptible d'être documenté à cet emplacement.
Débogueur
Valeur de retour de la fonction
Lorsque vous sortez d'une fonction dont le type de retour n'est pas void, CLion affiche désormais sa valeur de retour dans la vue Variables de la fenêtre d'outil du débogueur. Sous macOS et Linux, la version LLDB intégrée a été mise à jour vers LLDB 15.
Vue des threads RTOS
Lors du débogage avec RTOS, CLion fournit une vue des tâches (threads). À partir de CLion 2022.3, cela fonctionne également pour un multiprocesseur symétrique (SMP) si les cœurs du processeur sont identiques. En plus de FreeRTOS et Zephyr, la vue a également été activée pour Azure RTOS.
Nouvelle interface utilisateur
Les EDI basés sur IntelliJ bénéficie d'une nouvelle interface utilisateur. Moderne et épurée, elle cherche à réduire la complexité visuelle, à faciliter l'accès aux fonctionnalités essentielles et à faire découvrir les fonctionnalités complexes selon les besoins.
Les fenêtres d'outil et les fonctionnalités spécifiques à C et C++ sont désormais prêtes pour la nouvelle interface utilisateur. Si voulez l'essayer, adoptez-la dans Settings | Appearance & Behavior | New UI.
Synchronisation des paramètres
Une nouvelle solution pour synchroniser les paramètres est maintenant disponible dans tous les EDI basés sur IntelliJ, y compris CLion. Le nouveau plugin Settings Sync est capable de synchroniser tous les paramètres partageables de la plateforme, des plugins intégrés et des plugins tiers. Les paramètres sont stockés dans le cloud associé au compte JetBrains Account de l'utilisateur. Si vous utilisez plusieurs EDI basés sur IntelliJ associés au même compte utilisateur, vos paramètres seront automatiquement synchronisés.
Profilage
Lorsque vous effectuez un profilage sur une cible distante ou embarquée, vous pouvez désormais importer les résultats localement dans CLion via Run | Open Profiler Snapshot. L'option de navigation Jump to Source fonctionne correctement pour les données de profilage et reste opérationnelle après l'importation/exportation.
Développement à distance et WSL2
CLion offre désormais une alternative pour travailler sur des projets en WSL2 (sous-système Windows pour Linux 2) via le développement à distance. Au lieu d'exécuter un EDI complet sur Windows, le backend de votre EDI se lancera directement dans WSL2. Vous pouvez ensuite vous y connecter de la même manière que vous vous connecteriez à n'importe quelle machine distante pour utiliser le développement à distance.
Pour améliorer les performances du développement à distance avec des sources locales, CLion utilise désormais pigz (une implémentation gzip multithread) pour la compression sur l'hôte distant afin de synchroniser les chemins de recherche des en-têtes vers l'hôte local.
Dans le cadre du développement à distance avec des sources locales, vous pouvez éviter la synchronisation du dossier de build CMake après le rechargement de CMake en sélectionnant le type de déploiement Local or mounted folder dans Settings | Build, Execution, Deployment | Deployment.
Autres améliorations
- CLion intègre désormais tous les plugins de développement web par défaut de WebStorm (NodeJS, Karma, AngularJS, et autres).
- Les extensions de langage IAR sont désormais prises en charge dans CLion. Le code est analysé et mis en évidence correctement.
- Avec CLion 2022.3, JetBrains a commencé à distribuer des assistants d'installation pour Windows ARM64. Les outils natifs comme Clangd n'ont pas encore été importés sur la plateforme, de sorte que les assistants d'installation ne fonctionnent que pour Windows 11, qui est capable d'exécuter les binaires x64 et x86.
Nouveautés et téléchargement de CLion 2022.3