Astuces sur les types
Pour augmenter la lisibilité du code, CLion fournit diverses astuces de code. Par exemple, les astuces de paramètres affichent les noms des paramètres de fonction pour les arguments transmis. Dans le CLion 201.3 EAP, JetBrains a ajouté des astuces de type pour les types déduits.
Les cas d'utilisation lorsque les astuces sont présentes sont des variables auto, des liaisons structurées*:
et des types de retour lambda*:
Vous pouvez désactiver ou activer des astuces de type spécifiques dans Paramètres/Préférences | Éditeur | Conseils d'incrustation | C/C++ ou directement depuis le menu contextuel de l'astuce.
Si l'astuce de type inclut l'instanciation du modèle, les arguments du modèle peuvent être réduits en cliquant simplement sur les chevrons. Aussi, Ctrl+Clic (sous Windows/Linux) et Cmd+Click (sous macOS) permettent de naviguer jusqu'à la déclaration du type sur lequel vous avez cliqué :
Configuration simplifiée des chaînes de compilation et des environnements
Si votre environnement est stable et que vous changez rarement d'outils comme les compilateurs, vous n'utilisez probablement pas les paramètres des chaînes de compilation CLion après l'avoir configuré. Mais pour ceux qui débutent avec CLion, c'est la première chose à laquelle ils sont initiés. Sur n'importe quelle plateforme, pour commencer avec CLion, les utilisateurs doivent sélectionner au moins l'un des environnements pris en charge et configurer la chaîne d'outils avec le compilateur, le débogueur et d'autres outils. Sans cette configuration initiale, les projets ne seront pas chargés correctement.
D'après les commentaires des utilisateurs de CLion, JetBrains sait que la configuration des environnements et des chaînes de compilations est difficile, en particulier sous Windows. Dans cette version, l'éditeur travaille à l'amélioration de l'interface utilisateur mais aussi à l'amélioration des fonctionnalités existantes.
Chaîne d'outils MinGW sous Windows
Lors de la prise en main de CLion sous Windows, il existe plusieurs options pour les environnements : MinGW, Cygwin, Visual Studio ou WSL. Le CLion 201.3 EAP regroupe la chaîne d'outils MinGW pour une configuration rapide, sur laquelle vous pouvez compter si aucune autre option n'est installée sur votre machine. La version exacte fournie est MinGW-w64 9.0 avec langages=c,c++, les threads posix et les exceptions seh.
Une autre amélioration pour les utilisateurs de MinGW est un bundle GDB v 10.2 avec support Python (requis dans CLion). Avant, JetBrains proposait une version 32 bits fournie, mais l'éditeur est désormais passé à une version 64 bits. Depuis la mise à jour 10.1, la GDB 64 bits prend en charge le débogage des cibles 32 bits sous Windows, vous pouvez donc déboguer les deux avec elle.
Possibilité d'initialiser l'environnement de la chaîne d'outils via un script
Dans certains cas, l'environnement dans lequel le compilateur s'exécute est initialisé via un script. Il peut initialiser les variables d'environnement du compilateur, personnaliser la variable PATH, etc. La source d'un script au lieu de définir des variables d'environnement individuelles dans les configurations est certainement plus efficace. Un exemple typique où les scripts d'environnement de sourcing peuvent être utilisés est la configuration de Yocto.
Cela fonctionne pour tous les types de chaînes d'outils et sur toutes les plateformes. Allez simplement dans Paramètres/Préférences | Construction, exécution, déploiement | Chaînes d'outils et sélectionnez Ajouter un environnement | À partir du fichier*:
Le sourcing se produira lors de la première utilisation réelle de cette chaîne d'outils dans le profil CMake ou lors du chargement d'un projet Makefile.
Voici quelques problèmes connus*:
- Absence de rapport d'erreur pour le chargement du script d'environnement.
- Pas de prise en charge des variables d'environnement du script d'environnement pour les préréglages CMake
Mise à jour CMake
Dans CLion, vous pouvez utiliser n'importe quel générateur CMake. Auparavant, lorsqu'un générateur était explicitement spécifié, CLion basculait vers l'API de fichier CMake pour prendre en charge le générateur sélectionné. Dans d'autres cas, l'approche héritée a été utilisée. Cela signifie analyser la sortie de la commande CMake exécutée avec le générateur Makefiles. Cependant, CMake File API est une nouvelle et meilleure façon d'interroger les informations du projet. Maintenant, il est utilisé par défaut pour les versions 3.20 et supérieures de CMake.
Si vous souhaitez toujours utiliser l'ancienne approche héritée, vous pouvez l'activer dans Paramètres/Préférences | Réglages avancés:
Cette version EAP regroupe CMake v3.21.
Améliorations du débogueur
Nouvelle interface utilisateur du débogueur
Le débogueur est l'une des fonctionnalités EDI les plus importantes et les plus largement utilisées, mais son interface utilisateur devenait surchargée. Dans cet EAP, JetBrains a retravaillé l'interface utilisateur du débogueur pour la rendre plus propre et plus compacte afin de vous offrir plus d'espace et de contenir des informations plus utiles. L'expression d'évaluation est intégrée directement dans la fenêtre de l'outil et fusionnée avec Watches, et les boutons de contrôle ont été regroupés de manière plus logique.
Des actions supplémentaires sont disponibles dans le sous-menu étendu sous les trois points*:
Si vous avez vraiment besoin que les actions soient disponibles dans la barre d'outils du débogueur et non dans le sous-menu, vous pouvez les ajouter via Fichier | Paramètres | Apparence et comportement | Menus et barres d'outils | Barre d'outils d'en-tête de débogage.
Vue Piles parallèles
Les applications multithreads sont toujours plus difficiles à déboguer car vous devez suivre plusieurs threads en même temps. Dans ce cas, les informations de la pile d'appels de thread pour tous les threads peuvent être utiles.
La nouvelle vue Piles parallèles est implémentée sous la forme d'un onglet séparé dans la fenêtre de l'outil du débogueur.
La vue Piles parallèles vous permet d'examiner rapidement tous les threads de votre application et de vérifier les chemins d'appel et les points d'exécution de tous les threads en cours d'exécution..
Mise à jour des outils Clang
CLion est fourni avec Clang-Tidy et ClangFormat et utilise un moteur de langage basé sur Clangd pour de nombreuses opérations. Dans cet EAP, JetBrains a mis à jour la version LLVM vers 14.0.0 (vous pouvez toujours vérifier la révision utilisée dans CLion dans Paramètres/Préférences | Langages et frameworks | C/C++ | Clangd). Cela apporte quelques nouveaux contrôles Clang-Tidy parmi d'autres améliorations.
Mises à jour de l'analyse statique
JetBrains continue à travailler pour rendre l'analyse des flux de données de CLion plus puissante. Tout d'abord, il est devenu sensible au contexte d'appel, ce qui signifie qu'il traite les différents appels différemment*:
- Chaque fonction est analysée séparément pour chaque site d'appel.
- Les paramètres et les valeurs de retour pour les différents sites d'appel sont analysés séparément.
Ce type d'analyse améliore les contrôles existants comme les pointeurs pendants qui peuvent maintenant être capturés dans plus de cas.
Dans cet EAP, JetBrains a amélioré l'analyse des pointeurs invalidés et couvert des cas tels qu'un itérateur suspendu et un propriétaire modifié (les propriétaires transmis par une référence non const sont supposés être modifiés).
En savoir plus sur CLion 2021.3 EAP et télécharger