CLion 2022.1 est disponible. L'EDI C++ apporte une nouvelle fonctionnalité de profilage CMake
et une expérience améliorée dans l'éditeur

CLion 2022.1 est maintenant disponible ! Il se concentre sur les améliorations de la qualité et les améliorations des fonctionnalités et des flux de travail existants tels que le développement à distance, Docker, l'intégration des préréglages CMake, etc. Il apporte également une toute nouvelle capacité de profilage CMake qui vous aide à inspecter visuellement pourquoi votre projet CMake peut prendre beaucoup de temps à recharger. L'analyse de code et les indications de type et de paramètre dans l'éditeur ont été ajustées pour fonctionner mieux et plus précisément avec le C++ moderne.

Développement à distance

Le nouveau workflow de développement à distance est désormais fourni dans CLion et accessible à partir de l'écran d'accueil de l'EDI. Vous pouvez ainsi utiliser une puissante machine distante pour effectuer toutes les opérations de l'EDI et pour créer, exécuter et déboguer du code, tout en exécutant l'EDI sur un client léger local. Les environnements de développement cloud fournis dans Space peuvent désormais être utilisés avec CLion pour accélérer l'intégration, obtenir un EDI prêt à l'emploi en quelques secondes et gérer efficacement vos ressources de développement.

Nom : distance.png
Affichages : 38352
Taille : 95,5 Ko

Docker

Lorsque vous travaillez avec la chaîne d'outils Docker, vous pouvez désormais fournir des paramètres de conteneur supplémentaires, tels que des liaisons de port et de volume.

L'outil Valgrind memcheck, qui permet de détecter les problèmes d'utilisation de la mémoire, fonctionne maintenant avec la chaîne d'outils Docker.

Nom : docker.png
Affichages : 1600
Taille : 84,8 Ko

Améliorations de l'expérience utilisateur

Pour cette version, JetBrains a peaufiné de nombreuses fonctionnalités CLion qui rendent votre expérience de codage plus confortable, facile et productive. JetBrains s'est concentré sur leur flexibilité et leur précision concernant le langage C++ moderne.

Les espaces de noms dans la boîte de dialogue New C++ Class

Lorsque vous créez une classe C++, vous pouvez désormais spécifier l'espace de nom dans lequel vous souhaitez que se trouve la nouvelle classe. Vous pouvez spécifier n'importe quel espace de noms, existant ou non (dans le deuxième cas, il sera créé avec la nouvelle classe), imbriqué ou même anonyme (sans nom), en saisissant un espace dans ce champ.

Nom : clion_4.png
Affichages : 1500
Taille : 50,5 Ko

Regroupement dans la vue Structure

Structure View vous aide à naviguer dans le fichier actuel en quelques clics. Parfois, vous souhaitez que les éléments aillent dans le même ordre que dans le fichier d'origine, mais parfois vous souhaitez qu'ils soient regroupés par nom qualifié. Il y a maintenant une bascule dédiée dans la boîte de dialogue qui vous permet de basculer entre ces modes : choisissez entre une vue groupée ou une vue simple avec un nom entièrement qualifié inclus dans chaque nom d'élément.

Rust

Un nouveau générateur de projets stub pour les projets Rust vous aidera même si vous n'avez pas installé le plugin Rust. Il vous aidera à installer le plugin et vous guidera dans la création de votre projet.

Conseils d'insertions

Les indications de paramètre et de type vous aident à lire et à gérer facilement vos bases de code existantes. Les informations supplémentaires sont affichées directement dans l'éditeur et aident avec les noms de paramètres dans les appels de fonction et les types déduits.

JetBrains a implémenté un certain nombre de correctifs pour rendre les conseils d'insertion dans le code C++ plus précis, par exemple :
  • CLion affiche désormais un alias wstring convivial comme indice de type pour le type std::basic_string<wchar_t>.
  • CLion affiche désormais un indice de type précis pour les types dépendants.
  • CLion 2022.1 offre de meilleurs conseils pour les fonctions emplace, emplace_back/emplace_front et make_unique/make_shared.

Nom : clion_1.png
Affichages : 1480
Taille : 14,2 Ko

Dans CLion 2022.1, JetBrains a amélioré les paramètres dans Paramètres/Préférences | Éditeur | Inlay Hints avec quelques explications et exemples de code. Vous pouvez maintenant mieux comprendre les cas où les conseils sont affichés et régler les paramètres selon vos préférences. Les conseils pour les indices de tableau peuvent désormais être désactivés si vous n'en avez pas besoin. Auparavant, ce n'était pas possible.

Analyse de code

Parce que l'analyse de code est un élément clé de l'EDI, JetBrains a travaillé pour la rendre plus précise et plus facile à configurer, et pour rendre ses notifications plus informatives.

Les paramètres Clang-Tidy et MISRA dans Paramètres/Préférences | Éditeur | Inspections | C/C++ | Les outils d'analyse statique ont été retravaillés pour faciliter le processus de configuration des vérifications. Une nouvelle représentation visuelle comprend un arbre avec toutes les vérifications. La recherche rapide vous aide à trouver plus rapidement les vérifications dont vous avez besoin - commencez simplement à taper le nom que vous recherchez lorsque la boîte de dialogue est en surbrillance.

Nom : clion_2.png
Affichages : 1441
Taille : 44,1 Ko

Pour Clang-Tidy, la boîte de dialogue renvoie également à la documentation LLVM pour vous aider à en savoir plus sur les vérifications.

Il est beaucoup plus facile d'améliorer votre code lorsque les suggestions de l'IDE non seulement nomment le problème et suggèrent le correctif, mais montrent également comment le correctif sélectionné transformera le code. C'est pourquoi nous avons ajouté un aperçu des actions d'intention*:

Nom : clion_3.png
Affichages : 1451
Taille : 27,3 Ko

Pour Clang-Tidy, le problème provoquant des résultats incorrects lors de l'utilisation de la chaîne d'outils WSL a été résolu en configurant Clang-Tidy pour qu'il s'exécute dans le WSL lui-même.

Aperçu pour les actions d'intention

Les suggestions d'actions d'intention sont disponibles via Alt+Entrée (ou en cliquant sur l'icône ampoule). Dans la liste des suggestions, vous pouvez désormais voir un aperçu du résultat de l'action sélectionnée. L'aperçu est disponible pour les lois De Morgan, l'inversion de la condition if, la fusion if-else, la fusion de if imbriquées, Clang-Tidy, MISRA, Clazy, la division en déclarations et affectations, la division en déclarations séparées, et plusieurs autres actions.

Analyse de code plus précise

JetBrains a traité plusieurs problèmes afin d'améliorer la précision du moteur d'analyse du code dans CLion, notamment :
  • Les vérifications Condition is always false/true fonctionnent désormais correctement avec les types et la conversion restrictive.
  • CLion ne marque plus les champs comme inutilisés s'ils ont des destructeurs non triviaux.


Formateur

De nouvelles options de formatage pour les liaisons structurées ont été ajoutées aux sections Spaces et Wrapping and Braces :

Nom : clion_5.png
Affichages : 1432
Taille : 73,8 Ko

Prise en charge CMake plus puissante

CMake est l'un des principaux modèles de projets dans CLion. Dans cette version, JetBrains s'est concentré sur la flexibilité de la configuration de CMake dans CLion, ainsi que sur l'amélioration de l'expérience d'édition CMake et l'ajout de la prise en charge du profilage. La version 2022.1 de CLion corrige les incohérences et le manque de capacités de configuration dans les aspects essentiels de la prise en charge de CMake : les préréglages et les profils.

Préréglages CMake et profils CLion

CMake 3.19 a introduit CMake Presets, un moyen universel de configurer CMake et de partager les configurations au sein de votre équipe. Il est encore jeune et évolue rapidement, avec de nombreuses approches testées puis mises à jour ultérieurement en fonction des retours des personnes les utilisant dans des projets réels. La prise en charge par CLion des préréglages CMake évolue également. JetBrains crée maintenant des profils CMake pour configurer les préréglages. CLion utilise des profils CMake pour exécuter et déboguer votre application, mais il ne les créait auparavant que pour les préréglages de construction. Les profils de configuration permettent de supprimer les préréglages de construction redondants dans de nombreux cas.

Si vous ne voulez pas que CLion crée des profils à partir de préréglages, un nouveau paramètre qui contrôle cela a été ajouté à Paramètres/Préférences | Paramètres avancés | CMake | Activez l'intégration des préréglages CMake. Un autre paramètre est la possibilité de définir des profils CMake dans CLion pour qu'ils se rechargent de manière séquentielle. Vous pourriez en avoir besoin en cas de connexions non triviales entre des profils qui rendent impossible le rechargement parallèle (la valeur par défaut dans CLion) :

Nom : clion_6.png
Affichages : 1441
Taille : 35,4 Ko

Profils CMake rechargés de façon séquentielle

Lorsque le rechargement parallèle des profils CMake n'est pas possible, CLion peut maintenant les recharger séquentiellement. Vous pouvez activer ce comportement dans Settings | Advanced Settings | CMake.

Générateurs CMake

Les générateurs CMake sont maintenant plus faciles à configurer dans CLion grâce aux nouvelles options et mises à jour :
  • Use default : cette option permet d'utiliser dans les nouveaux projets l'outil de build configuré pour la chaîne d'outils sélectionnée dans le profil CMake correspondant.
  • Let CMake decide : avec cette option, CLion n'accorde pas de préférence explicite à un générateur, c'est donc CMake qui décide lui-même quel générateur utiliser.

Profilage CMake

Vous pouvez maintenant voir pourquoi le rechargement d'un projet CMake prend beaucoup de temps dans CLion. À partir de CMake 3.18, le nouveau traçage peut être activé dans les paramètres de CMake. CLion vous aidera à exécuter le traçage et à en visualiser les résultats.

Mise en forme CMake

Les scripts CMake sont maintenant mis en forme de manière plus précise :
  • if() .. endif(), else() et elseif(), endforeach(), endfunction(), endmacro() et endwhile() sont alignés correctement.
  • Il est désormais possible de réduire les blocs pour ces commandes.
  • L'appariement des accolades et la mise en évidence des blocs de code sont également disponibles pour ces commandes.

Débogueur

Débogueur CUDA

Vous pouvez désormais utiliser le débogueur CUDA-GDB dans CLion. Pour ce faire, vous devez spécifier le binaire cuda-gdb dans les paramètres du débogueur de votre chaîne d'outils actuelle et utiliser l'option de compilation ci-dessous :

add_compile_options(-G) pour ajouter les symboles de débogage CUDA.

Mise à jour de l'interface utilisateur du débogueur

Deux nouvelles options sont disponibles dans les paramètres de mise en page de la fenêtre d'outils du débogueur :
  • Separate Watches : vous permet d'utiliser un onglet séparé avec des points de surveillance.
  • Show Tab Labels : permet d'utiliser les noms des onglets de la fenêtre d'outil du débogueur.

Valeurs hex dans le débogueur

L'option permettant d'afficher les valeurs décimales et hexagonales dans le débogueur fonctionne désormais pour LLDB sous Windows (Settings | Build, Execution, Deployment | Debugger | Data Views | C/C++ | Show integers as hex values and Display alongside the original value).

Développement embarqué

Serveur GDB intégré
La configuration du serveur GDB embarqué permet maintenant de réinitialiser l'appareil à différentes étapes :
  • Avant ou après le téléchargement (c'est-à-dire le flashage de la ROM de l'unité centrale ou l'écriture dans la RAM).
  • Toujours (avant et après).
  • Ou jamais.

Les macros fonctionnent désormais dans les champs de configuration du serveur GDB embarqué.

FreeRTOS

Le port FreeRTOS GCC/Posix est maintenant pris en charge et permet de déboguer FreeRTOS sous Linux.

Autres améliorations
  • Dans les paramètres des chaînes d'outils (Settings | Build, Execution, Deployment | Toolchains), vous pouvez désormais configurer n'importe quel outil de build à utiliser avec une chaîne d'outils, comme Make, Ninja, ou autres.
  • Pour les fichiers de bibliothèque, CLion n'affiche plus la notification This file does not belong to any project target (Ce fichier n'appartient à aucune cible de projet).
  • Les résultats incorrects de Clang-Tidy qui se produisaient lors de l'utilisation de la chaîne d'outils WSL sont maintenant corrigés en exécutant Clang-Tidy à l'intérieur-même de WSL.

En savoir plus et télécharger CLion 2022.1