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 !

Sortie de CLion 2019.3
La dernière version majeure de l'année 2019 pour l'EDI C/C++ de Jetbrains

Le , par dourouc05

14PARTAGES

5  0 
La dernière version majeure de CLion pour l'année 2019 est sortie. Cet EDI de JetBrains a rapidement su se faire une place sur le marché des environnements de développement C++. Cette version 2019.3 accélère l'autocomplétion de code grâce à Clang, élimine des blocages de l'interface, intègre des outils d'analyse de la couverture du code, permet de lancer du code avec WSL2, améliore le débogueur et gère les concepts de C++20. Cela fait pas mal de choses !

Performance de l'éditeur

Les environnements de développement C++ ne sont pas toujours connus pour leur rapidité, défaut partagé par l'étape de compilation (le C++ est un langage plus lent à compiler que la majorité…). Avec cette version, la solution maison pour gérer l'autocomplétion a été complétée par clangd, un dérivé du compilateur Clang. Cela signifie que, chaque fois que l'EDI lance l'autocomplétion, plusieurs moteurs sont lancés, les résultats étant affichés dès qu'ils sont reçus (avec une limite à cent résultats). clangd est toutefois limité dans ses possibilités, vu qu'il ne peut pas gérer du code en cours d'écriture (il n'est pas compilable, presque par définition).

Pour les projets de taille moyenne, clangd n'apporte pas grand-chose. Par contre, pour des projets bien plus grands, comme LLVM (projet père de Clang) ou Eigen (bibliothèque de calcul numérique), avec une énorme utilisation de fonctionnalités avancées de C++ (comme les templates pour Eigen), le résultat peut être époustouflant, les résultats arrivant jusqu'à plus de cent fois plus vite ! Le processus prenait parfois plusieurs secondes sur un ordinateur portable récent, il est maintenant bien plus raisonnable. Même pour des bibliothèques qui n'utilisent pas tellement de fonctionnalités avancées de C++, comme Qt, les gains sont appréciables.






Bon nombre de blocages de l'interface ont été résolus. En particulier, le renommage peut se limiter à des recherches uniquement dans les utilisations du code à renommer (pas les commentaires et les valeurs constantes) : auparavant, la recherche était toujours lancée, même si l'utilisateur n'avait pas besoin de tous les résultats.


Les étapes de création et de mise à jour de la base de données des symboles ont aussi été énormément retravaillées pour être plus rapides. Selon les projets, cette opération prend de dix à cinquante pour cent de temps en moins, ce qui se ressent très rapidement.

Systèmes de compilation

Jusqu'à présent, CLion ne gérait la compilation qu'à travers les fichiers Makefile générés par CMake. Cette manière de travailler simplifiait fortement la conception de l'éditeur, en analysant directement la sortie de CMake. Désormais, avec CMake 3.15, CLion utilise directement l'API de CMake permettant de récupérer les mêmes données sans devoir passer par un Makefile. Ainsi, CLion peut utiliser n'importe quel générateur géré par CMake pour lancer la compilation, comme Ninja (plus rapide), des solutions Visual Studio ou des projets Xcode (des systèmes plus intégrés pour Windows ou macOS, respectivement). La sélection du système de génération est cependant assez sommaire :


Débogage

CLion peut désormais lancer une instance distante de GDB pour le débogage. CLion se charge alors de téléverser l'exécutable à lancer et de le lancer avec gdbserver sur la machine distante.


LLDB 9 est inclus pour Linux et macOS, ce qui a permis de nettoyer une partie du code gérant l'affichage des variables dont le type est un conteneur de la STL (selon l'implémentation utilisée : celle de Clang, libc++, ou celle de GCC, libstdcxx — celle de Clang étant bien mieux gérée).


Concepts de C++20

L'une des nouveautés les plus attendues de C++20 est la notion de concept. L'objectif est de contraindre les possibilités des arguments template avec des prérequis sémantiques (l'argument peut être haché, par exemple). CLion 2019.3 ne se limite pas à la coloration syntaxique, bien évidemment. L'EDI fournit une inspection pour les concepts inutilisés, la complétion automatique pour les types contraints par les concepts std::is_base_of et std::is_same, le renommage, ainsi que la navigation vers la définition et les utilisations d'un concept.


Analyse de code

De nouvelles analyses statiques de code sont disponibles, notamment l'appel de fonctions virtuelles depuis les constructeurs et destructeurs. La vérification orthographique est activée pour les commentaires CMake et Doxygen.


L'analyse de la couverture d'une suite de tests est implémentée et peut utiliser llvm-cov ou gcov.


Téléchargez CLion

Source principale : JetBrains.
Sources secondaires : 2019.3 EAP: Performance improvements […], 2019.3 EAP: […] CMake, 2019.3 EAP: Debugger improvements.

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

Avatar de Aiekick
Membre extrêmement actif https://www.developpez.com
Le 02/12/2019 à 13:29
je le trouve super CLion.

mon ide préféré reste visual studio sous windows.

mais le fait que CLion, pour un abonnement soit dispo a l'identique sur Windows, Mac et Linux,
m'a permit d'enfin compiler mon soft sur les 3 os et avec des outils suffisamment clair pour rechercher les bugs.
le plus long a été l'initiation a CMake evidemment (l'utilitaire de gesion de lib, VCpkg dispo aussi sur les 3 plateforme a aussi aidé)
1  0