{"id":34123,"date":"2018-12-17T16:24:53","date_gmt":"2018-12-17T15:24:53","guid":{"rendered":"https:\/\/blog.jetbrains.com\/fr\/?p=220"},"modified":"2018-12-17T16:49:07","modified_gmt":"2018-12-17T15:49:07","slug":"clion-2018-3-maintenant-disponible-developpement-a-distance-cpu-profiler-c17-navigation-basee-sur-clangd-et-vcs-et-ameliorations-de-lediteur","status":"publish","type":"post","link":"https:\/\/blog.jetbrains.com\/fr\/2018\/12\/17\/clion-2018-3-maintenant-disponible-developpement-a-distance-cpu-profiler-c17-navigation-basee-sur-clangd-et-vcs-et-ameliorations-de-lediteur\/","title":{"rendered":"CLion 2018.3 maintenant disponible\u00a0: d\u00e9veloppement \u00e0 distance, CPU Profiler, C++17, navigation bas\u00e9e sur clangd et VCS, et am\u00e9liorations de l&#8217;\u00e9diteur"},"content":{"rendered":"Cette ann\u00e9e, nous avons concentr\u00e9 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\u00e9liorations g\u00e9n\u00e9rales des performances de l'IDE. Par cons\u00e9quent, nous avons ajout\u00e9 un moteur de langage compl\u00e9mentaire et exp\u00e9rimental bas\u00e9 sur clangd et travaill\u00e9 \u00e0 \u00e9liminer la survenance de blocages de l'interface utilisateur dans l'\u00e9diteur.\r\n\r\nLe second aspect porte sur les configurations \u00e0 distance. Le Sous-syst\u00e8me Windows pour Linux (WSL) notamment, qui s'est mu\u00e9 en un syst\u00e8me complet d'aide au d\u00e9veloppement \u00e0 distance.\r\n\r\nLes am\u00e9liorations que nous avons r\u00e9alis\u00e9es dans ces deux domaines nous permettent aujourd'hui de vous proposer la version finale de l'IDE pour cette ann\u00e9e, avec CLion 2018.3. Cet article pr\u00e9sente tous les avantages de cette nouvelle version.\r\n\r\n\r\nVoici les changements majeurs apport\u00e9s par CLion 2018.3 :\r\n\r\n\tPrise en charge initiale du d\u00e9veloppement \u00e0 distance.\r\n\tInt\u00e9gration avec les CPU Profilers sous Linux et macOS.\r\n\tPrise en charge de C++\r\n\r\n\tNavigation bas\u00e9e sur Clangd et actions de recherche.\r\n\tMeilleure prise en charge de C++17.\r\n\r\n\r\n\tPerformances am\u00e9lior\u00e9es de l'\u00e9diteur lors des tests unitaires.\r\n\tNouveaut\u00e9s et mises \u00e0 jour des actions de l'IDE\u00a0: Build\/Rebuild, Run Anything et Search Everywhere.\r\n\tInspections de conformit\u00e9 du sch\u00e9ma pour la base de donn\u00e9es de compilation.\r\n\tAm\u00e9liorations de VCS\u00a0: prise en charge des sous-modules Git et des requ\u00eates Pull de GitHub.\r\n\tAm\u00e9liorations de l'\u00e9diteur\u00a0: TODO multiligne, expansion de macro format\u00e9e, am\u00e9liorations de l'accessibilit\u00e9 et nouvelle interface pour les plug-ins.\r\n\tMises \u00e0 jour des plug-ins Rust et Swift.\r\n\r\nProfitez de la version d'essai gratuit sur 30\u00a0jours de CLion pour \u00e9valuer ses nouvelles fonctionnalit\u00e9s et am\u00e9liorations. D\u00e9couvrez-les au cours de cette d\u00e9monstration rapide par Phil Nash ou lisez la suite pour plus de d\u00e9tails\u00a0:\r\n\r\nT\u00e9l\u00e9charger CLion 2018.3\r\n&nbsp;\r\nD\u00e9veloppement \u00e0 distance\r\nVous pouvez d\u00e9sormais d\u00e9velopper du code \u00e0 distance \u00e0 partir d'un ordinateur client Windows, Linux ou macOS et sur un h\u00f4te distant Linux. Veuillew noter que la configuration est actuellement soumise \u00e0 deux contraintes\u00a0:\r\n\r\n\tElle fonctionne uniquement pour les projets bas\u00e9s sur CMake (CLion prend \u00e9galement en charge Gradle et le mod\u00e8le de projet de base de donn\u00e9es de compilation, mais le d\u00e9veloppement \u00e0 distance pour ces derniers n'est pas encore disponible).\r\n\tLa configuration suppose que le code source soit situ\u00e9 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\u00eate sur l'ordinateur local, de fa\u00e7on \u00e0 r\u00e9soudre le code plus rapidement et \u00e0 am\u00e9liorer la r\u00e9activit\u00e9 de l'\u00e9diteur pendant que vous travaillez sur le code.\r\n\r\nLa configuration est tr\u00e8s simple\u00a0: cr\u00e9ez simplement une op\u00e9ration toolchain \u00e0 distance dans Settings\/Preferences | Build, Execution, Deployment | Toolchains, et utilisez-la dans les profils CMake configur\u00e9s pour le projet (ou transformez l'op\u00e9ration toolchain distante en op\u00e9ration par d\u00e9faut pour pouvoir l'utiliser automatiquement)\u00a0:\r\n\r\n\r\nLorsque cette op\u00e9ration est termin\u00e9e, vous pouvez compiler, ex\u00e9cuter et d\u00e9boguer votre application ou vos tests sur un ordinateur distant directement depuis CLion. Appelez les commandes de la fa\u00e7on habituelle et ex\u00e9cutez-les \u00e0 distance\u00a0:\r\n\r\n\r\nPour en savoir plus sur la fa\u00e7on dont fonctionne le mode distant, lisez notre article de blog d\u00e9taill\u00e9. En attendant, si vous \u00eates int\u00e9ress\u00e9 par ce que nous allons voir ci-apr\u00e8s, consultez notre outil de suivi\u00a0:\r\n\r\n\tOuvrez le projet CMake, de sorte que les sources soient consid\u00e9r\u00e9es comme \u00e9tant stock\u00e9es \u00e0 distance (CPP-14584)\r\n\tPrise en charge du contr\u00f4le de version du syst\u00e8me distant (CPP-14482)\r\n\tPrise en charge du terminal distant (CPP-14588)\r\n\tInt\u00e9gration avec Valgrind Memcheck (CPP-14178), sanitizers Google (CPP-14179) et CPU Profilers (CPP-14357) en mode distant\r\n\tEt autres demandes li\u00e9es \u00e0 la demande parent pour le d\u00e9veloppement \u00e0 distance (CPP-744)\r\n\r\nCPU Profiler\r\nCLion s'int\u00e8gre d\u00e9sormais 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\u00e9cution qui s'affiche lorsque vous cliquez sur l'ic\u00f4ne d'ex\u00e9cution dans la goutti\u00e8re de gauche.\r\n\r\nLa collecte des donn\u00e9es par le profileur prend g\u00e9n\u00e9ralement du temps. Lorsque ce processus est termin\u00e9, la bulle de notification s'affiche et l'analyse des performances de l'application devient disponible dans la fen\u00eatre d'outil du profileur (View | Tool Windows | CPU Profiler). Les onglets incluant le flame chart, l'arbre d'appel et les listes de m\u00e9thodes pr\u00e9sentent les informations en les divisant par threads. Vous pouvez aussi voir les informations de l'ensemble des threads fusionn\u00e9es depuis un seul endroit. Il est \u00e9galement possible de passer directement \u00e0 la source pour explorer le code \u00e0 l'origine de la d\u00e9gradation des performances dans votre application\u00a0:\r\n\r\n\r\nVoulez-vous voir les autres profileurs int\u00e9gr\u00e9s dans CLion\u00a0? Dites-le nous\u00a0!\r\nPrise en charge de C++\r\nMoteur bas\u00e9 sur Clangd\u00a0: permet d\u00e9sormais de naviguer dans votre code\r\nL'un de nos objectifs principaux est de rendre CLion plus pr\u00e9cis et adapt\u00e9 aux fonctionnalit\u00e9s les plus r\u00e9centes de C++. C'est pourquoi cette ann\u00e9e nous avons mis \u00e0 votre disposition un nouveau moteur de langage gratuit bas\u00e9 sur Clangd. Ce moteur fonctionne en parall\u00e8le avec le moteur de langage de CLion et intervient dans certaines fonctionnalit\u00e9s de l'\u00e9diteur. Dans la version v2018.2 actuelle, les annotations d'erreurs et d'avertissements \u00e9taient impl\u00e9ment\u00e9es sur la base de Clangd.\r\n\r\nDans CLion 2018.3, certaines actions de navigation et de recherche ont \u00e9t\u00e9 d\u00e9plac\u00e9es vers le moteur bas\u00e9 sur Clangd, ce qui inclut S\u00e9lection de d\u00e9claration\/d\u00e9finition, s\u00e9lection de r\u00e9f\u00e9rences sous le caret, la fen\u00eatre contextuelle de documentation rapide et l'option Find usages. Les retours que nous avons sur le moteur Clangd sont encore \u00e9valua\u00e9s et ajust\u00e9s par CLion, aussi les deux moteurs fonctionnent toujours en parall\u00e8le afin de vous garantir les meilleurs r\u00e9sultats possibles.\r\n\r\nPour identifier et g\u00e9rer les fonctionnalit\u00e9s CLion bas\u00e9es sur clangd, s\u00e9lectionnez Settings\/Preferences | Languages &amp; Frameworks | C\/C++ | Clangd\u00a0:\r\n\r\n\r\nL'annotateur d'erreurs, Clang-Tidy et la navigation au moyen de Clangd sont toutes des fonctionnalit\u00e9s ind\u00e9pendantes les unes des autres, ce qui vous permet d'adopter la configuration qui r\u00e9pond le mieux aux besoins de votre projet. Par d\u00e9faut, Clangd est utilis\u00e9 pour les trois. Pour le d\u00e9sactiver compl\u00e8tement, vous devez d\u00e9sactiver ces trois options.\r\n\r\nA noter que Clang-Tidy (un c\u00e9l\u00e8bre outil \u00ab\u00a0linter\u00a0\u00bb de C++) est bas\u00e9 sur l'AST clang et disponible dans CLion avec ou sans le moteur bas\u00e9 sur Clangd. La principale diff\u00e9rence est que lorsqu'il est activ\u00e9 via Clangd, il utilise l'AST mis en cache par Clangd, ce qui am\u00e9liore les performances.\r\nC++17\u00a0: prend en charge les expressions de pliage et les guides de d\u00e9duction.\r\nNous faisons tout notre possible pour impl\u00e9menter davantage de fonctionnalit\u00e9s de l'IDE en compl\u00e9ment du moteur bas\u00e9 sur Clangd, mais continuons \u00e0 am\u00e9liorer le moteur de langage de CLion. Comme l'adoption de C++17 se d\u00e9veloppe, nous avons ajout\u00e9 la prise en charge des expressions de pliage et des guides de d\u00e9duction de C++17 dans l'analyseur CLion. La mise en surbrillance du code est ainsi plus pr\u00e9cise et l'assistance au codage encore plus performante. Par exemple, les types peuvent \u00eatre d\u00e9sormais d\u00e9duits correctement en pr\u00e9sence de guides de d\u00e9duction d\u00e9finis par l'utilisateur\u00a0:\r\n\r\nAm\u00e9lioration des performances des tests unitaires\r\nL'am\u00e9lioration des performances de l'\u00e9diteur et l'\u00e9limination des blocages de l'interface ont \u00e9t\u00e9 des th\u00e9matiques cl\u00e9s au cours du cycle de pr\u00e9paration de la version la plus r\u00e9cente. Afin d'am\u00e9liorer les performances, CLion applique d\u00e9sormais la d\u00e9tection de tests retard\u00e9s. Cela r\u00e9duit les temps d'indexation dans de nombreux cas, quel que soit le framework de test utilis\u00e9\u00a0: Google Test, Boost.Test ou Catch(2). Nous avons d\u00e9j\u00e0 eu d'excellents retours de nos utilisateurs EAP qui trouvent l'\u00e9diteur beaucoup plus r\u00e9actif.\r\n\r\nCLion pouvant d\u00e9sormais d\u00e9tecter les tests unitaires de fa\u00e7on retard\u00e9e, nous avons ajout\u00e9 une action sp\u00e9ciale \u00e0 des fins de diagnostic, \u00ab\u00a0Show Test List\u00a0\u00bb, disponible depuis la bo\u00eete de dialogue Find Action. Elle ouvre un fichier dressant la liste de tous les tests actuellement d\u00e9tect\u00e9s dans le projet\u00a0:\r\n\r\n\r\nSi vous n'avez pas encore lanc\u00e9 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\u00eame ne d\u00e9bouche pas sur l'indexation du texte. Mais si vous l'avez fait, vous obtiendrez alors une liste qui vous permettra de v\u00e9rifier les tests que vous avez index\u00e9s dans le projet. Si vous avez des suggestions d'am\u00e9lioration de cette fonctionnalit\u00e9, n'h\u00e9sitez pas \u00e0 nous les communiquer\u00a0!\r\nActions d'IDE nouvelles et mises \u00e0 jour\r\nCr\u00e9er\/recr\u00e9er\r\nCLion v2018.3 introduit un nouveau menu Build, ce qui r\u00e9unit les actions build\/rebuild\/install disponibles pour un mod\u00e8le de projet donn\u00e9. Pour la base de donn\u00e9es de compilation, il s'agit uniquement de Recompile pour un fichier unique. Mais pour CMake, les nouveaut\u00e9s sont bien plus nombreuses\u00a0:\r\n\r\nPar exemple, \u00ab\u00a0Build Project\u00a0\u00bb est une nouvelle action qui cr\u00e9e la cible CMake all \u00e0 partir de tous les profils CMake configur\u00e9s pour le projet actuel. Pour cr\u00e9er la cible all \u00e0 partir d'un profil CMake donn\u00e9, utilisez \u00ab\u00a0Build All in &lt;selected CMake Profile&gt;\u00a0\u00bb.\r\n\r\nVous pouvez \u00e9galement recr\u00e9er l'int\u00e9gralit\u00e9 du projet, le profil CMake s\u00e9lectionn\u00e9 (cible all) ou la configuration s\u00e9lectionn\u00e9e. La liste compl\u00e8te des actions disponibles figure dans notre aide Web.\r\nRun Anything et Search Everywhere\r\nCette paire de bo\u00eetes de dialogue universelles am\u00e9liore votre productivit\u00e9 lorsque vous travaillez avec l'IDE.\r\n\r\nUtilisez Double Ctrl pour appeler Run Anything et lancer la configuration pr\u00e9f\u00e9r\u00e9e - il suffit pour cela d'en saisir le nom. Et si vous souhaitez d\u00e9buguer 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 \u00ab\u00a0Open\u00a0\u00bb et s\u00e9lectionnez le projet voulu dans la liste.\r\n\r\n\r\nDouble Shift ouvre la fen\u00eatre contextuelle Search Everywhere qui int\u00e8gre d\u00e9sormais plusieurs actions \u00e0 la fois\u00a0: Go to class, file ou symbol\u00a0; vous pouvez rechercher une action sp\u00e9cifique ou les rechercher toutes ensemble (Search Everywhere). Utilisez la touche de tabulation pour basculer entre les diff\u00e9rentes actions. Tous les raccourcis d'actions disponibles pr\u00e9c\u00e9demment fonctionnent toujours. Par exemple, Ctrl+N\/\u2318O ouvre toujours l'onglet Classes.\r\n\r\nInspections de conformit\u00e9 des sch\u00e9mas des bases de donn\u00e9es de compilation\r\nCLion 2018.3 est fourni avec tout un ensemble d'inspections pour les fichiers json de bases de donn\u00e9es de compilation, qui permettent d'obtenir les v\u00e9rifications de conformit\u00e9 avec le sch\u00e9ma JSON des bases de donn\u00e9es de compilation. Par exemple, il permet d'identifier l'utilisation d'un type incorrect dans la valeur de propri\u00e9t\u00e9, ou l'absence de propri\u00e9t\u00e9\u00a0:\r\n\r\nAm\u00e9liorations VCS\r\nIntelliJ Platform, la cl\u00e9 de vo\u00fbte de CLion, a r\u00e9cemment introduit plusieurs am\u00e9liorations importantes du mode d'utilisation des syst\u00e8mes de contr\u00f4le de version. Tout d'abord, les sous-modules Git sont enfin pris en charge\u00a0! L'IDE permet d\u00e9sormais de s'assurer que lorsque vous clonez un r\u00e9f\u00e9rentiel racine, l'ensemble des sous-modules sont clon\u00e9s par cet IDE. La m\u00eame chose est vraie pour les mises \u00e0 jour et plusieurs actions VCS fonctionnent \u00e9galement avec les sous-modules.\r\n\r\nUne autre modification consid\u00e9rable r\u00e9side dans la fen\u00eatre d'outils des requ\u00eates Pull GitHub (VCS | Git | View Pull Requests). Elle dresse \u00e9galement la liste des requ\u00eates Pull en relation avec le r\u00e9f\u00e9rentiel. Vous pouvez filtrer la vue en fonction de l'\u00e9tat de la requ\u00eate pull (par exemple, state:open), assignee, author, etc. D'autre part, avec un simple clic droit, vous pouvez cr\u00e9er une nouvelle branche locale pour toute requ\u00eate pull.\r\n\r\nVous trouverez plus d'informations sur les am\u00e9liorations VCS sur la page Nouveaut\u00e9s d'IntelliJ IDEA.\r\nAm\u00e9liorations de l'\u00e9diteur\r\nTODO multiligne\r\nSi vous souhaitez inclure davantage d'informations dans vos commentaires TODO, il est recommand\u00e9 de les r\u00e9partir sur plusieurs lignes. CLion g\u00e8re d\u00e9sormais cela correctement - il suffit d'ajouter un retrait \u00e0 partir de la deuxi\u00e8me ligne de commentaire TODO multiligne\u00a0:\r\n\r\nL'IDE diff\u00e9rencie les lignes commen\u00e7ant par un renfoncement des commentaires ordinaires et les surligne en tant que commentaire TODO. En outre, l'int\u00e9gralit\u00e9 du texte du commentaire sera pr\u00e9sent\u00e9e dans les fen\u00eatres d'outil TODO (View | Tool Windows | TODO).\r\nExpansion de macro dans la documentation rapide\r\nLa fen\u00eatre contextuelle Quick Documentation (Ctrl+Q sous Windows\/Linux, F1 sous macOS) fournit une solution simple d'explication du code qui sera substitu\u00e9e apr\u00e8s la passe de pr\u00e9traitement. Lorsque cette fonction est appel\u00e9e pour une macro, elle affiche la macro finale.\r\n\r\nDans la version v2018.3, la fen\u00eatre contextuelle est d\u00e9sormais format\u00e9e correctement et les mots cl\u00e9s sont mis en surbrillance. Cela s'av\u00e8re particuli\u00e8rement pratique lorsque vous travaillez avec les macros boost\u00a0par exemple :\r\n\r\nAm\u00e9liorations de l'accessibilit\u00e9\r\nVous trouverez \u00e9galement de nouveaux param\u00e8tres dans la section Settings\/Preferences | Appearance &amp; Behavior | Appearance pour rendre CLion (et autres IDE bas\u00e9s sur IntelliJ) accessibles par autant de personnes que possible. L'un de ceux-ci est le nouveau th\u00e8me \u00e0 fort contraste.\r\nNouvelle interface de plug-in\r\nNous avons retravaill\u00e9 la page Settings\/Preferences | Plugins. Sa nouvelle interface facilite la gestion, l'installation, la d\u00e9sinstallation et la mise \u00e0 jour des plug-ins. Vous pouvez d\u00e9sormais voir les plug-ins les plus importants regroup\u00e9s dans le plug-in Featured, ou trier tous les plug-ins par notation ou nombre de t\u00e9l\u00e9chargements.\r\n\r\n\r\nVous connaissez maintenant l'essentiel\u00a0! Essayez ces nouvelles fonctionnalit\u00e9s en t\u00e9l\u00e9chargeant CLion 2018.3 et en profitant de l'\u00e9valuation gratuite sur 30\u00a0jours. Par ailleurs, pour en savoir plus sur certaines am\u00e9liorations; vous pouvez utiliser ce projet de d\u00e9mo de GitHub. Nous attendons vos commentaires\u00a0!\r\nMises \u00e0 jour Rust et Swift\r\nCLion 2018.3 int\u00e8gre la prise en charge de Swift Package Manager dans le plug-in Swift. Ouvrez simplement le projet SPM dans CLion et utilisez-le\u00a0: aucune configuration suppl\u00e9mentaire n'est requise. En savoir plus et et voir une d\u00e9mo.\r\n\r\nLe plug-in Rust a \u00e9t\u00e9 mis \u00e0 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.\r\nT\u00e9l\u00e9charger CLion 2018.3\r\nVotre \u00e9quipe CLion\r\n\r\nJetBrains\r\nThe Drive to Develop","protected":false},"excerpt":{"rendered":"Cette ann\u00e9e, nous avons concentr\u00e9 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\u00e9liorations g\u00e9n\u00e9ra","protected":false},"author":{"name":"Delphine Massenhove","link":"https:\/\/blog.jetbrains.com\/fr\/author\/delphine-massenhovejetbrains-com"},"featured_media":34124,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"footnotes":""},"categories":[907],"tags":[],"cross-post-tag":[],"acf":[],"featured_image":"https:\/\/blog.jetbrains.com\/wp-content\/uploads\/2018\/12\/fr-blog@2x.png","_links":{"self":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/posts\/34123"}],"collection":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/users\/813"},{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/users\/813"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/comments?post=34123"}],"version-history":[{"count":0,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/posts\/34123\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media\/34124"}],"wp:attachment":[{"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/media?parent=34123"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/categories?post=34123"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/tags?post=34123"},{"taxonomy":"cross-post-tag","embeddable":true,"href":"https:\/\/blog.jetbrains.com\/fr\/wp-json\/wp\/v2\/cross-post-tag?post=34123"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}