Releases

CLion 2018.3 maintenant disponible : développement à distance, CPU Profiler, C++17, navigation basée sur clangd et VCS, et améliorations de l’éditeur

Cette année, nous avons concentré nos efforts sur deux principaux aspects de CLion. Le premier aspect consiste dans une meilleure prise en charge du langage C++ et dans l’apport d’améliorations générales des performances de l’IDE. Par conséquent, nous avons ajouté un moteur de langage complémentaire et expérimental basé sur clangd et travaillé à éliminer la survenance de blocages de l’interface utilisateur dans l’éditeur.

Le second aspect porte sur les configurations à distance. Le Sous-système Windows pour Linux (WSL) notamment, qui s’est mué en un système complet d’aide au développement à distance.

Les améliorations que nous avons réalisées dans ces deux domaines nous permettent aujourd’hui de vous proposer la version finale de l’IDE pour cette année, avec CLion 2018.3. Cet article présente tous les avantages de cette nouvelle version.
CLion_183

Voici les changements majeurs apportés par CLion 2018.3 :

Profitez de la version d’essai gratuit sur 30 jours de CLion pour évaluer ses nouvelles fonctionnalités et améliorations. Découvrez-les au cours de cette démonstration rapide par Phil Nash ou lisez la suite pour plus de détails :

Télécharger CLion 2018.3

 

Développement à distance

Vous pouvez désormais développer du code à distance à partir d’un ordinateur client Windows, Linux ou macOS et sur un hôte distant Linux. Veuillew noter que la configuration est actuellement soumise à deux contraintes :

  • Elle fonctionne uniquement pour les projets basés sur CMake (CLion prend également en charge Gradle et le modèle de projet de base de données de compilation, mais le développement à distance pour ces derniers n’est pas encore disponible).
  • La configuration suppose que le code source soit situé sur un ordinateur local et que CLion le synchronise avec rsync (sous macOS et Linux) ou sftp et la compression gzip (sous Windows) sur l’ordinateur distant. En retour, CLion synchronise les chemins de recherche de l’en-tête sur l’ordinateur local, de façon à résoudre le code plus rapidement et à améliorer la réactivité de l’éditeur pendant que vous travaillez sur le code.

La configuration est très simple : créez simplement une opération toolchain à distance dans Settings/Preferences | Build, Execution, Deployment | Toolchains, et utilisez-la dans les profils CMake configurés pour le projet (ou transformez l’opération toolchain distante en opération par défaut pour pouvoir l’utiliser automatiquement) :
Remote_toolchain

Lorsque cette opération est terminée, vous pouvez compiler, exécuter et déboguer votre application ou vos tests sur un ordinateur distant directement depuis CLion. Appelez les commandes de la façon habituelle et exécutez-les à distance :
Remote_run

Pour en savoir plus sur la façon dont fonctionne le mode distant, lisez notre article de blog détaillé. En attendant, si vous êtes intéressé par ce que nous allons voir ci-après, consultez notre outil de suivi :

  • Ouvrez le projet CMake, de sorte que les sources soient considérées comme étant stockées à distance (CPP-14584)
  • Prise en charge du contrôle de version du système distant (CPP-14482)
  • Prise en charge du terminal distant (CPP-14588)
  • Intégration avec Valgrind Memcheck (CPP-14178), sanitizers Google (CPP-14179) et CPU Profilers (CPP-14357) en mode distant
  • Et autres demandes liées à la demande parent pour le développement à distance (CPP-744)

CPU Profiler

CLion s’intègre désormais avec CPU Profiler sous Linux (Perf) et macOS (DTrace). Pour ce faire, une nouvelle action est disponible dans la barre d’outils de navigation, ainsi que dans le menu d’exécution qui s’affiche lorsque vous cliquez sur l’icône d’exécution dans la gouttière de gauche.

La collecte des données par le profileur prend généralement du temps. Lorsque ce processus est terminé, la bulle de notification s’affiche et l’analyse des performances de l’application devient disponible dans la fenêtre d’outil du profileur (View | Tool Windows | CPU Profiler). Les onglets incluant le flame chart, l’arbre d’appel et les listes de méthodes présentent les informations en les divisant par threads. Vous pouvez aussi voir les informations de l’ensemble des threads fusionnées depuis un seul endroit. Il est également possible de passer directement à la source pour explorer le code à l’origine de la dégradation des performances dans votre application :
Profileur

Voulez-vous voir les autres profileurs intégrés dans CLion ? Dites-le nous !

Prise en charge de C++

Moteur basé sur Clangd : permet désormais de naviguer dans votre code

L’un de nos objectifs principaux est de rendre CLion plus précis et adapté aux fonctionnalités les plus récentes de C++. C’est pourquoi cette année nous avons mis à votre disposition un nouveau moteur de langage gratuit basé sur Clangd. Ce moteur fonctionne en parallèle avec le moteur de langage de CLion et intervient dans certaines fonctionnalités de l’éditeur. Dans la version v2018.2 actuelle, les annotations d’erreurs et d’avertissements étaient implémentées sur la base de Clangd.

Dans CLion 2018.3, certaines actions de navigation et de recherche ont été déplacées vers le moteur basé sur Clangd, ce qui inclut Sélection de déclaration/définition, sélection de références sous le caret, la fenêtre contextuelle de documentation rapide et l’option Find usages. Les retours que nous avons sur le moteur Clangd sont encore évaluaés et ajustés par CLion, aussi les deux moteurs fonctionnent toujours en parallèle afin de vous garantir les meilleurs résultats possibles.

Pour identifier et gérer les fonctionnalités CLion basées sur clangd, sélectionnez Settings/Preferences | Languages & Frameworks | C/C++ | Clangd :
Clangd_settings

L’annotateur d’erreurs, Clang-Tidy et la navigation au moyen de Clangd sont toutes des fonctionnalités indépendantes les unes des autres, ce qui vous permet d’adopter la configuration qui répond le mieux aux besoins de votre projet. Par défaut, Clangd est utilisé pour les trois. Pour le désactiver complètement, vous devez désactiver ces trois options.

A noter que Clang-Tidy (un célèbre outil « linter » de C++) est basé sur l’AST clang et disponible dans CLion avec ou sans le moteur basé sur Clangd. La principale différence est que lorsqu’il est activé via Clangd, il utilise l’AST mis en cache par Clangd, ce qui améliore les performances.

C++17 : prend en charge les expressions de pliage et les guides de déduction.

Nous faisons tout notre possible pour implémenter davantage de fonctionnalités de l’IDE en complément du moteur basé sur Clangd, mais continuons à améliorer le moteur de langage de CLion. Comme l’adoption de C++17 se développe, nous avons ajouté la prise en charge des expressions de pliage et des guides de déduction de C++17 dans l’analyseur CLion. La mise en surbrillance du code est ainsi plus précise et l’assistance au codage encore plus performante. Par exemple, les types peuvent être désormais déduits correctement en présence de guides de déduction définis par l’utilisateur :
Deduction_guides

Amélioration des performances des tests unitaires

L’amélioration des performances de l’éditeur et l’élimination des blocages de l’interface ont été des thématiques clés au cours du cycle de préparation de la version la plus récente. Afin d’améliorer les performances, CLion applique désormais la détection de tests retardés. Cela réduit les temps d’indexation dans de nombreux cas, quel que soit le framework de test utilisé : Google Test, Boost.Test ou Catch(2). Nous avons déjà eu d’excellents retours de nos utilisateurs EAP qui trouvent l’éditeur beaucoup plus réactif.

CLion pouvant désormais détecter les tests unitaires de façon retardée, nous avons ajouté une action spéciale à des fins de diagnostic, « Show Test List », disponible depuis la boîte de dialogue Find Action. Elle ouvre un fichier dressant la liste de tous les tests actuellement détectés dans le projet :
Test_list

Si vous n’avez pas encore lancé des tests unitaires dans votre projet ou n’avez pas encore ouvert de fichiers avec les tests unitaires, vous obtiendrez probablement une liste vide, car l’action elle-même ne débouche pas sur l’indexation du texte. Mais si vous l’avez fait, vous obtiendrez alors une liste qui vous permettra de vérifier les tests que vous avez indexés dans le projet. Si vous avez des suggestions d’amélioration de cette fonctionnalité, n’hésitez pas à nous les communiquer !

Actions d’IDE nouvelles et mises à jour

Créer/recréer

CLion v2018.3 introduit un nouveau menu Build, ce qui réunit les actions build/rebuild/install disponibles pour un modèle de projet donné. Pour la base de données de compilation, il s’agit uniquement de Recompile pour un fichier unique. Mais pour CMake, les nouveautés sont bien plus nombreuses :
Build_menu
Par exemple, « Build Project » est une nouvelle action qui crée la cible CMake all à partir de tous les profils CMake configurés pour le projet actuel. Pour créer la cible all à partir d’un profil CMake donné, utilisez « Build All in <selected CMake Profile> ».

Vous pouvez également recréer l’intégralité du projet, le profil CMake sélectionné (cible all) ou la configuration sélectionnée. La liste complète des actions disponibles figure dans notre aide Web.

Run Anything et Search Everywhere

Cette paire de boîtes de dialogue universelles améliore votre productivité lorsque vous travaillez avec l’IDE.

Utilisez Double Ctrl pour appeler Run Anything et lancer la configuration préférée – il suffit pour cela d’en saisir le nom. Et si vous souhaitez débuguer cette configuration, utilisez la touche Maj pour activer le mode Debug Anything. Vous pouvez aussi l’utiliser pour ouvrir un projet. Dans ce cas, tapez « Open » et sélectionnez le projet voulu dans la liste.
Run_Anything

Double Shift ouvre la fenêtre contextuelle Search Everywhere qui intègre désormais plusieurs actions à la fois : Go to class, file ou symbol ; vous pouvez rechercher une action spécifique ou les rechercher toutes ensemble (Search Everywhere). Utilisez la touche de tabulation pour basculer entre les différentes actions. Tous les raccourcis d’actions disponibles précédemment fonctionnent toujours. Par exemple, Ctrl+N/⌘O ouvre toujours l’onglet Classes.
Search_Everywhere

Inspections de conformité des schémas des bases de données de compilation

CLion 2018.3 est fourni avec tout un ensemble d’inspections pour les fichiers json de bases de données de compilation, qui permettent d’obtenir les vérifications de conformité avec le schéma JSON des bases de données de compilation. Par exemple, il permet d’identifier l’utilisation d’un type incorrect dans la valeur de propriété, ou l’absence de propriété :
Comp_db_checks

Améliorations VCS

IntelliJ Platform, la clé de voûte de CLion, a récemment introduit plusieurs améliorations importantes du mode d’utilisation des systèmes de contrôle de version. Tout d’abord, les sous-modules Git sont enfin pris en charge ! L’IDE permet désormais de s’assurer que lorsque vous clonez un référentiel racine, l’ensemble des sous-modules sont clonés par cet IDE. La même chose est vraie pour les mises à jour et plusieurs actions VCS fonctionnent également avec les sous-modules.

Une autre modification considérable réside dans la fenêtre d’outils des requêtes Pull GitHub (VCS | Git | View Pull Requests). Elle dresse également la liste des requêtes Pull en relation avec le référentiel. Vous pouvez filtrer la vue en fonction de l’état de la requête pull (par exemple, state:open), assignee, author, etc. D’autre part, avec un simple clic droit, vous pouvez créer une nouvelle branche locale pour toute requête pull.

Vous trouverez plus d’informations sur les améliorations VCS sur la page Nouveautés d’IntelliJ IDEA.

Améliorations de l’éditeur

TODO multiligne

Si vous souhaitez inclure davantage d’informations dans vos commentaires TODO, il est recommandé de les répartir sur plusieurs lignes. CLion gère désormais cela correctement – il suffit d’ajouter un retrait à partir de la deuxième ligne de commentaire TODO multiligne :
Multiline_todo
L’IDE différencie les lignes commençant par un renfoncement des commentaires ordinaires et les surligne en tant que commentaire TODO. En outre, l’intégralité du texte du commentaire sera présentée dans les fenêtres d’outil TODO (View | Tool Windows | TODO).

Expansion de macro dans la documentation rapide

La fenêtre contextuelle Quick Documentation (Ctrl+Q sous Windows/Linux, F1 sous macOS) fournit une solution simple d’explication du code qui sera substituée après la passe de prétraitement. Lorsque cette fonction est appelée pour une macro, elle affiche la macro finale.

Dans la version v2018.3, la fenêtre contextuelle est désormais formatée correctement et les mots clés sont mis en surbrillance. Cela s’avère particulièrement pratique lorsque vous travaillez avec les macros boost par exemple :
Quick_Doc

Améliorations de l’accessibilité

Vous trouverez également de nouveaux paramètres dans la section Settings/Preferences | Appearance & Behavior | Appearance pour rendre CLion (et autres IDE basés sur IntelliJ) accessibles par autant de personnes que possible. L’un de ceux-ci est le nouveau thème à fort contraste.

Nouvelle interface de plug-in

Nous avons retravaillé la page Settings/Preferences | Plugins. Sa nouvelle interface facilite la gestion, l’installation, la désinstallation et la mise à jour des plug-ins. Vous pouvez désormais voir les plug-ins les plus importants regroupés dans le plug-in Featured, ou trier tous les plug-ins par notation ou nombre de téléchargements.
plugins_ui

Vous connaissez maintenant l’essentiel ! Essayez ces nouvelles fonctionnalités en téléchargeant CLion 2018.3 et en profitant de l’évaluation gratuite sur 30 jours. Par ailleurs, pour en savoir plus sur certaines améliorations; vous pouvez utiliser ce projet de démo de GitHub. Nous attendons vos commentaires !

Mises à jour Rust et Swift

CLion 2018.3 intègre la prise en charge de Swift Package Manager dans le plug-in Swift. Ouvrez simplement le projet SPM dans CLion et utilisez-le : aucune configuration supplémentaire n’est requise. En savoir plus et et voir une démo.

Le plug-in Rust a été mis à jour pour assurer la prise en charge partielle de Rust 2018, l’inspection d’analyse Move et la prise en charge de tests unitaires Cargo.

Télécharger CLion 2018.3

Votre équipe CLion

JetBrains
The Drive to Develop

image description

Discover more