IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

CLion 2021.1 fournit la prise en charge étendue de MISRA, l'intégration de Clazy pour les projets Qt,
Ainsi que d'une amélioration de l'expérience d'analyse du code

Le , par Stéphane le calme

103PARTAGES

7  0 
JetBrains vient de publier la version 2021.1 de CLion, son EDI C/C++ pour Linux, macOS et Windows intégré au système de génération CMake. CLion 2021.1 améliore l'expérience d'analyse du code avec l'analyse des flux de données en mode global, la prise en charge étendue de MISRA et l'intégration de Clazy pour les projets Qt. Dans le débogueur, GDB et LLDB proposent maintenant les mêmes fonctionnalités pour le débogage Core Dump. Enfin, le mode à distance dispose d'un éventail de fonctionnalités élargi et fonctionne de manière cohérente sur plusieurs modèles de projets.

Data Flow Analysis

L'analyse du flux de données (DFA) suit le flux de données dans votre code et détecte les problèmes potentiels sur la base de cette analyse. En plus de l'analyse DFA locale (qui fonctionne au sein d'une fonction isolée), CLion 2021.1 inclut une DFA globale (qui considère l'ensemble d'une unité de traduction d'un programme comme un seul élément pour l'analyse). La DFA globale n'enrichit pas seulement les contrôles déjà existants, elle ajoute également plusieurs nouvelles inspections uniques.

Renforcer les vérifications locales avec l'analyse DFA globale

La liste des inspections actuelles basées sur la DFA qui bénéficient de la DFA globale inclut les éléments suivants :
  • Dangling pointers : détecte les pointeurs susceptibles de rediriger vers une mémoire déjà effacée ;
  • Null dereference : détecte le déréférencement de pointeurs pouvant contenir nullptr ;
  • Endless loops et Infinite recursion ;
  • Constant conditions : détecte les conditions possibles qui sont toujours vraies ou fausses ;
  • Unreachable code et Unused values ;
  • Escape analysis : détecte les variables contenant des références à des variables locales qui échappent à leur portée.

Nouvelles vérifications de DFA globale

Plusieurs nouvelles inspections ont été ajoutées, qui n'ont de sens que dans le cadre d'une analyse globale – en exécutant une DFA sur l'ensemble de l'unité de traduction d'un programme :
  • Constant function result : signale les fonctions dont la valeur de retour semble toujours être la même constante ;
  • Constant parameter : signale les fonctions où un paramètre semble toujours être la même constante ;
  • Unreachable function calls : détecte les fonctions dont les sites d'appel ne sont jamais exécutés.

Améliorations des performances

CLion 2021.1 optimise également de nombreuses étapes de la DFA. Les mesures de performance sur les projets Postgres, Eigen et Clangd, entre autres, montrent que la performance globale est bonne et que certaines caractéristiques ont été améliorées (comme le nombre de fichiers dans lesquels l'exécution de la DFA a été interrompue par CLion en raison d'une expiration de délai).

Analyse dynamique

Couverture des branches

En plus de la couverture des lignes, CLion 2021.1 peut à présent calculer également la couverture des branches. Cette méthode prend en compte l'ensemble des branches de chaque structure de contrôle. Exécutez votre application ou vos tests CMake avec la couverture et vérifiez la nouvelle colonne qui a été ajoutée à la fenêtre d'outils Coverage.

La couverture des branches est activée par défaut et peut être paramétrée dansSettings | Build, Execution, Deployment | Coverage, mais elle ne fonctionne qu'avec GCC/gcov ou la version 12.0.0 de LLVM/llvm-cov (ou une version ultérieure).


Analyse dynamique en mode distant

Afin d'assurer la cohérence des fonctionnalités sur l'ensemble des chaînes d'outils, des modèles de projets et des configurations, CLion 2021.1 permet à Google Sanitizers, Valgrind Memcheck et Code Coverage de fonctionner avec des chaînes d'outils distantes.

Contrôles MISRA C et C++

CLion 2021.1 ajoute des vérifications supplémentaires des normes MISRA C 2012 et MISRA C++ 2008. La liste complète est maintenue sur notre page Confluence et vous permet de suivre facilement l'avancement.

Saisie semi-automatique Postfix pour C et C++

La saisie semi-automatique postfix pour C et C++ vous permet d'ajouter du code autour d'une expression que vous venez de saisir. Elle peut ajouter une construction de langage fréquemment utilisée à une expression ou passer l'expression comme premier argument d'une fonction libre.

Ajouter une construction de langage à l'expression

Les modèles Postfix peuvent vous aider à utiliser des constructions de langage courantes. Saisissez une expression puis un point, ajoutez l'abréviation du modèle postfix et appuyez ensuite sur la touche d'expansion ou sélectionnez le modèle requis dans la liste de saisie semi-automatique qui apparaît. Le template étendu enveloppera l'expression donnée. Retrouvez la liste complète des modèles dans Settings | Editor | General | Postfix Completion.

Passer l'expression dans une fonction libre

Utilisez la saisie semi-automatique du code postfix pour passer l'expression que vous venez de saisir comme premier argument d'une fonction libre. Saisissez une expression, puis un point et sélectionnez une fonction libre dans la liste de saisie semi-automatique qui s'affiche.

Améliorations pour les projets Makefile

Prise en charge initiale des projets Makefile distants

CLion 2021.1 vous permet de travailler avec des projets Makefile sur une machine distante. Changez la chaîne d'outils dans les paramètres Makefile pour désigner une chaîne distante, puis rechargez le projet. Il se synchronisera avec la machine distante. Compilez, exécutez et déboguez votre application à distance à partir de votre CLion local.


Plugin Makefile Language

Le plugin Makefile Language, qui était auparavant un service tiers, est désormais maintenu par l'équipe CLion et intégré à CLion. Le plugin fournit la mise en évidence de la syntaxe make, une documentation rapide, la fonctionnalité Find Usages pour les cibles et plusieurs actions de navigation et de saisie semi-automatique du code pour Makefile.

Améliorations pour les projets CMake

Partager des profils CMake dans un VCS

Les paramètres du profil CMake dans CLion sont maintenant stockés dans un fichier cmake.xml au sein du répertoire .idea et peuvent être partagés dans le VCS en même temps que le projet. Il vous suffit de sélectionner l'option Share dans Settings | Build, Execution, Deployment | CMake.

CLion 2021.1 intègre CMake 3.19. En plus des autres changements qu'elle introduit, il s'agit de la première version de CMake à prendre en charge la puce Apple Silicon (M1).

Les fonctionnalités de CMake 3.19 pour CUDA sont désormais prises en charge dans CLion, ce qui inclut la saisie semi-automatique pour quelques nouvelles variables CMake.

Améliorations pour les projets Qt

Intégration de Clazy

Clazy, un analyseur de code statique orienté Qt, est désormais intégré au moteur basé sur Clangd de CLion. CLion utilise actuellement la version 1.8. Les contrôles s'affichent dans l'éditeur et des correctifs rapides sont également disponibles.

Les utilisateurs peuvent configurer le degré de sévérité de CLion et le niveau des contrôles Clazy dans Settings | Editor | Inspections | C/C++ | General | Clazy.


Raccourcis clavier QtCreator

Pour celles et ceux qui sont habitué·es aux associations de touches dans QtCreator, CLion intègre maintenant les raccourcis clavier QtCreator. Vous pouvez choisir de les utiliser dans Settings ou via une action Quick Switch Scheme (Ctrl+`).

Débogueur

Set Execution Point dans le désassemblage

L'action Set Execution Point vous permet de passer directement à une ligne de code quelconque dans l'éditeur pendant une session de débogage et d'y définir le point d'exécution en ignorant toutes les autres commandes intermédiaires. Elle fonctionne désormais dans la vue de désassemblage, ce qui vous permet de déplacer le point d'exécution tout en parcourant progressivement le code d'assemblage.

Débogage des core dumps

Lors du débogage des core dumps dans CLion 2021.1, les utilisateurs peuvent désormais définir sysroot dans la configuration d'exécution correspondante. Cela aidera à localiser les symboles de la bibliothèque lors du débogage des core dumps à partir de binaires créés sur d'autres systèmes.

La définition explicite des fichiers de symboles lors du débogage d'un core dump pour un binaire non symbolisé avec LLDB fournit désormais également les informations nécessaires sur les symboles à CLion. Avec ce correctif, GDB et LLDB proposent maintenant les mêmes fonctionnalités pour le débogage Core Dump!

Terminal distant

Une nouvelle action Tools | Open Remote Host Terminal ouvre le répertoire du projet sur l'hôte distant, s'il existe. L'hôte distant correspond au profil distant actuellement sélectionné ou, si un profil local est sélectionné, au premier profil distant trouvé dans le projet.


Vue du projet

Les fichiers source situés en dehors de la racine du projet sont désormais regroupés sous le nœud External Sources dans l'arborescence du projet. Cela permet d'éviter l'encombrement de ces fichiers au niveau supérieur.

VCS

Profil pour les inspections avant commit

CLion peut inspecter votre code avant que vous effectuiez un commit, pour vous aider à contrôler l'absence de bugs. Choisissez un profil d'inspection du code avant de valider les modifications dans le VCS. Cliquez sur l'icône engrenage pour afficher les options de commit, cochez la case Analyze code, cliquez sur Choose profile, puis sélectionnez le profil souhaité.

Modèles de commit Git

Vous pouvez créer un modèle de message de commit personnalisé dans Git. CLion affichera alors ce texte comme message initial de commit.

Save to Shelf

Une nouvelle action Save to Shelf vous permet de copier vos modifications dans Shelf tout en les conservant dans les modifications locales. Vous pouvez accéder à cette action en appuyant sur Ctrl+Maj+A et en tapant « Save to Shelf ».

Mise à jour du plugin Rust

IntelliJ Rust fournit maintenant une vue structurée pour la sortie du build du compilateur. L'onglet s'ouvre automatiquement dans la fenêtre d'outils Build lorsque vous appelez une commande Cargo qui comprend une étape de build. Cette nouvelle fonctionnalité fonctionne avec les versions 1.48.0 ou ultérieures de Cargo.

Autre mise à jour importante : la nouvelle refactorisation Change Signature. Elle vous aide à modifier la signature d'une fonction/méthode, ce qui impactera toutes les références. Vous pouvez rapidement modifier le nom ou le type de retour d'une fonction, réorganiser ou ajouter/supprimer des paramètres et ajouter un préfixe async ou unsafe.

La refactorisation Rename fournit maintenant des suggestions de renommage pour des éléments comme les structs, les fonctions et les variables locales lorsque vous changez un nom dans l'éditeur.

La prise en charge de la compilation conditionnelle a été améliorée. Find Usages est désormais disponible pour les fonctionnalités Cargo et la saisie semi-automatique fonctionne pour l'argument feature dans les attributs cfg et cfg_attr. De plus, s’il y a des attributs imbriqués dans cfg_attr, le plugin en tient compte lors de la résolution de noms et de l'analyse de code.

Code With Me

Code With Me, un nouveau service de JetBrains pour le développement collaboratif et la programmation en binôme à distance, est désormais intégré à CLion.

Définissez le niveau d'accès requis pour votre projet et partagez le lien avec vos invité·es. Les personnes que vous invitez à collaborer n'ont même pas besoin d'avoir un IDE pour pouvoir travailler avec vous. Les appels audio et vidéo intégrés et la messagerie instantanée permettent aux équipes de discuter du code, de partager des connaissances et de coopérer plus efficacement.


Intégration de Space

Le plugin Space est maintenant disponible pour CLion. Vous pouvez vous connecter à votre organisation dans JetBrains Space via la commande Get from VCS située à droite sur l'écran de bienvenue. Une fois connecté·e, vous pouvez consulter et cloner les référentiels de projets, réviser le code des autres membres de votre équipe et écrire des scripts Space Automation.

Autres améliorations
  • CLion appliquera désormais automatiquement le thème hypercontrasté dès son premier lancement si vous utilisez le mode hypercontrasté sous Windows ;
  • avec les nouveaux paramètres de typographie, paramétrez précisément le poids de vos styles de police par défaut et de police grasse dans Settings | Editor | Fonts ;
  • lorsque plusieurs onglets qui divisent l’éditeur verticalement sont ouverts, vous pouvez double-cliquer sur l’un d’entre eux pour agrandir la fenêtre de l’éditeur pour cet onglet spécifique. Pour ramener la fenêtre à sa taille initiale, il suffit de double-cliquer à nouveau sur celle-ci.


Télécharger CLion 2021.1

Source : JetBrains

Une erreur dans cette actualité ? Signalez-nous-la !