CLion 2020.3 apporte des améliorations significatives et très attendues à des étapes clés du processus de développement : analyse du code, exécution et débogage des applications, tests unitaires. Pour les projets embarqués, CLion fournit désormais une prise en charge native de MISRA C et C++. Et les utilisateurs de Qt bénéficient de fonctionnalités de l'IDE spécialement conçues pour travailler avec du code Qt.
CLion 2020.3 peut exécuter et déboguer votre application avec les privilèges root. Il vous suffit de sélectionner cette option dans la configuration Run/Debug correspondante. Cela fonctionne pour les applications CMake, Makefile, Gradle Native, Custom Build et CTest.
La nouvelle action Run | Open Core Dump... disponible pour Linux et macOS vous permet d'ouvrir un dump principal existant d'un processus qui a échoué dans CLion et de le déboguer à partir de là. Les utilisateurs peuvent inspecter la vue des frames et des variables, consulter la vue de la mémoire et du désassemblage, évaluer les expressions et exécuter les commandes du débogueur depuis la console de débogage. Obtenez plus d'informations sur le processus de configuration de cette fonctionnalité et ses limitations.
La nouvelle action Set Execution Point to Cursor vous permet d'avancer et de revenir en arrière dans l'exécution de votre programme pendant le débogage, d'interrompre des boucles ou de les redémarrer, de sélectionner une autre branche dans une clause if-else ou une instruction switch-case, et même d'ignorer complètement des boucles. Il suffit de glisser-déposer une flèche dans la gouttière de la ligne concernée.
Désormais, lorsque l'application s'exécute en mode débogage, l'éditeur affiche des conseils inline cliquables que vous pouvez développer pour voir tous les champs qui appartiennent à une variable donnée. De plus, vous pouvez modifier les valeurs des variables dans la liste déroulante ou ajouter une expression arbitraire comme watch inline à cet emplacement dans le code.
CLion vous permet désormais d'utiliser un script pour spécifier l'environnement dans lequel une configuration Run/Debug sera lancée. Ce nouveau paramètre est disponible dans toutes les configurations d'applications et de tests unitaires.
Plus besoin d'attendre ! Les configurations Run/Debug peuvent être modifiées pendant l'indexation du projet.
CTest, un exécuteur de test de CMake, est désormais pris en charge dans CLion. Ainsi, la liste des tests qui sont exécutés avec CTest est détectée et l'IDE crée automatiquement des configurations Run/Debug pour ces tests. Lorsque les tests sont lancés, les résultats sont présentés dans l'exécuteur de test intégré, à partir duquel vous pouvez notamment déboguer les tests et relancer uniquement les tests ayant échoué.
La version 2020.3 améliore la prise en charge de CLion pour Google Test, le framework de tests unitaires C++ le plus populaire au monde (d'après notre enquête sur l'écosystème des développeurs en 2020 31% des développeurs C++ utilisent Google Test).
DISABLED) sont également affichés dans l'arborescence des tests avec l'icône correspondante.
CLion 2020.3 fournit une prise en charge partielle de MISRA C 2012 et MISRA C++ 2008, directives largement utilisées dans le domaine du développement embarqué, notamment dans le secteur automobile. Cette prise en charge accélère le développement de ce type de projets en identifiant les incompatibilités plus tôt dans le cycle de développement. La liste des vérifications prises en charge actuellement est disponible sur la page Confluence de CLion.
CLion 2020.3 améliore l'inspection des valeurs inutilisées, qui détecte les situations dans lesquelles une valeur de variable n'est jamais utilisée après avoir été attribuée. L'inspection peut désormais être personnalisée afin de prendre en compte les préférences de style à l'aide d'initialiseurs de variables par défaut. Une nouvelle option permettant de désactiver l'inspection dans de tels cas a été ajoutée aux paramètres.
Une nouvelle refactorisation Extract Lambda Parameter a été ajoutée à CLion. Elle permet d'extraire une expression ou une déclaration dans un nouveau paramètre avec une expression lambda passée comme argument correspondant. Par exemple, la déclaration peut être une fonction de comparaison passée à une fonction de tri.
Les extraits de saisie automatique Clang vous permettent d'insérer des constructions courantes lorsque des mots-clés C++ sont saisis. Dans certains cas, par exemple lorsque qu'un mot-clé typedef est saisi, la saisie automatique du code peut suggérer non seulement le mot-clé lui-même, mais aussi des stubs pour le type et le nouveau nom.
CLion 2020.3 améliore la saisie automatique du code, car il fonctionne désormais beaucoup plus précisément avec les types de modèles. Par exemple, les options de saisie automatique sont affichées pour les éléments du conteneur et les itérateurs dans le modèle de fonction.
La boîte de dialogue New Project propose les types de projets « Qt Console Executable » et « Qt Widgets Executable ». Vous pouvez également sélectionner le chemin du préfixe Qt CMake, le standard du langage C++ à utiliser dans le projet et la version Qt. Le nouveau projet est généré à l'aide des modèles correspondants.
Un nouvel élément de classe QT UI dans le menu New (Alt+Inser) /0> vous permet de créer simultanément une classe Qt et un fichier .ui. Indiquez le nom de la classe et sélectionnez la classe parente (QWidget, QMainWindow ou QDialog). Les fichiers .h/.cpp/.ui seront générés en utilisant la base Filename comme nom de fichier. Les fichiers générés suivent les modèles listés dans Settings/Preferences | Editor | File and Code Templates - Qt Class, Qt Class Header, et Qt Designer Form.
Les signaux et les slots sont des fonctionnalités centrales de Qt car ils sont utilisés pour la communication entre les objets. CLion comprend désormais quand les signaux ou les slots doivent être complétés, et ne filtre que les membres correspondants dans la liste déroulante de complétion.
Dans CLion 2020.3, les suggestions d'auto-importation dans les projets Qt sont paramétrées pour suivre le style le plus couramment utilisé pour Qt.
Les projets Makefile utilisant des wrappers comme ccache, libtool, dolt, slibtool et jlibtool, peuvent désormais être correctement chargés dans CLion. Obtenez plus d'informations sur les quelques limitations qui subsistent.
Il est encore plus facile de configurer un projet Makefile dans CLion car les configurations Run/Debug sont créées automatiquement pour les cibles dans un Makefile de niveau supérieur lors du chargement du projet. À présent, pour exécuter et déboguer, il vous suffit de faire pointer la configuration vers l'exécutable compilé.
L'action Recompiler (Ctrl+Maj+F9) permet d'accélérer le processus de développement en compilant un seul fichier, et non l'ensemble du projet. Et désormais, cela fonctionne aussi pour les projets Makefile !
Il est maintenant possible de conserver plusieurs profils CMake configurés dans CLion tout en désactivant ceux qui ne sont pas utilisés actuellement. Cela permet de réduire le temps de chargement du projet et d'éviter les échecs redondants de profils temporairement indisponibles (par exemple dans le cas de configurations à distance désactivées). L'option est disponible dans la fenêtre d'outils de CMake et dans la boîte de dialogue des paramètres des profils de CMake.
La boîte de dialogue Search Everywhere comporte désormais un onglet Git. Il permet de trouver des hachages de commits, messages, balises et branches. Vous pouvez également effectuer des calculs mathématiques simples dans le champ de recherche.
Le menu VCS est désormais nommé en fonction du système de contrôle de version utilisé actuellement. Le menu ne comporte plus que les actions les plus utiles pour la gestion des versions de votre projet.
De plus, les deux boutons les plus utilisés (Commit and Commit and Push…) sont désormais affichés clairement sur l'écran Commit.
Vous pouvez désormais effectuer des modifications dans la zone de staging directement à partir de CLion. Pour activer cette fonctionnalité, accédez à Preferences/Settings | Version Control | Git et cochez la case Enable staging area. Cliquez sur l'icône + pour ajouter vos fichiers au nouveau nœud Staged dans la vue Commit. Vous pouvez également interagir avec la zone de staging directement depuis la gouttière ou dans la vue Diff. Pour en savoir plus, consultez cet article de blog.
Les répertoires marqués comme Excluded localement sont désormais automatiquement marqués comme Excluded paths lors de la configuration initiale des chaînes d'outils distantes. Lorsque des modifications sont apportées à un projet déjà synchronisé, CLion affiche une notification de mise à jour et propose de mettre à jour la liste des Excluded paths.
CLion 2020.3 prend en charge Code With Me (version EAP), un nouveau service de JetBrains pour le développement collaboratif et la programmation en binôme. Code With Me vous permet de partager le projet que vous avez actuellement ouvert dans votre IDE avec d'autres personnes et de travailler dessus ensemble en temps réel. Vous pouvez le télécharger dès maintenant depuis la marketplace des plugins (Preferences / Settings | Plugins | Marketplace). Consultez ces articles pour en savoir plus sur Code With Me.
CLion 2020.3 propose un nouvel écran d'accueil. Avec la nouvelle mise en page, les opérations les plus fréquentes sont à portée de main et vous disposez d'un accès immédiat aux projets récents, options de personnalisation et paramètres des plugins.
Il est désormais possible de diviser un éditeur en glissant-déposant un onglet sur le côté de la fenêtre principale de l'éditeur. L'action Open in Right Split divise l'éditeur verticalement lors de l'ouverture de votre fichier.
Vous pouvez appeler l'action à partir de la vue Project ou d'autres fenêtres contextuelles de navigation telles que Recent Files et Search Everywhere (Maj+Entrée).
CLion peut désormais synchroniser son thème avec celui de votre système d'exploitation. Pour activer cette fonctionnalité, accédez à Settings / Preferences | Appearance & Behavior | Appearance et cochez la case Sync with OS. Cliquez sur l'icône engrenage à côté de Sync with OS pour choisir votre thème préféré.
IntelliJ Rust prend désormais entièrement en charge les fonctionnalités Cargo et vous permet de les configurer grâce à une nouvelle interface utilisateur intelligente. Les fonctionnalités d'un espace de travail peuvent être activées et désactivées en un clic et l'assistance au code du plugin prend en compte ces paramètres. Pour plus de détails, consultez cet article de blog.
De plus, le plugin permet désormais d'utiliser Rustfmt comme formateur de code par défaut. Il suffit de cocher la case correspondante dans Settings / Preferences | Languages & Frameworks | Rust | Rustfmt, et le reformatage du fichier entier utilisera Rustfmt. Pour le moment, si vous appelez Reformat Code sur une sélection, c'est le formateur de l'IDE qui est utilisé.
L'assistant de projet du plugin a été amélioré et offre davantage de modèles, ainsi que la possibilité d'utiliser des modèles personnalisés cargo-generate.
Les autres mises à jour comprennent l'introduction de la prise en charge de projet WebAssembly et un nouveau moteur expérimental pour la résolution des noms.
Avec l'ajout des projets Makefile et l'amélioration de la prise en charge de CMake, CLion 2020.2 garantit la couverture d'une grande variété de projets C++. Il apporte une meilleure conformité à la norme C++20. L'analyse de code est maintenant plus précise et détecte davantage d'erreurs critiques, comme les pointeurs suspendus. Les tests unitaires, la couverture du code, le développement embarqué et plusieurs autres domaines ont également fait l'objet d'améliorations majeures.
Vous développez un projet basé sur Makefile ? Bénéficiez des fonctionnalités intelligentes de CLion – CLion propose désormais livré la prise en charge immédiate des projets Makefile. Ouvrez un dossier avec un Makefile de niveau supérieur en tant que projet ou pointez directement CLion vers un Makefile dans la boîte de dialogue Open. L'IDE exécutera make (avec l'option -- just-print pour éviter d'exécuter un build réel), analysera la sortie de la commande make et chargera le projet. Pour plus de détails, informations sur les limitations connues et la liste des nombreux projets avec lesquels nous avons testé notre approche, lisez cet article.
Les paramètres de CMake Profile sous Build, Execution, Deployment | CMake ont une nouvelle interface utilisateur et plusieurs astuces utiles ont été ajoutées pour les paramètres. En outre, plusieurs actions sont désormais disponibles pour les projets CMake dans Find Action et vous pouvez attribuer un raccourci vers une ou plusieurs de ces actions si vous les utilisez régulièrement :
CLion intègre désormais CMake 3.17 et fournit une prise en charge initiale de deux de ses fonctionnalités les plus récentes :
-G "Ninja Multi-Config" pour générer des fichiers de build CLion pour chaque configuration (veuillez noter que, temporairement, CLion utilisera toujours une seule configuration sélectionnée pour le profil CMake). target_precompile_headers pour ajouter des fichiers d'en-tête aux propriétés PRECOMPILE_HEADERS ou INTERFACE_PRECOMPILE_HEADERS d'une cible. CLion gérera correctement ces en-têtes précompilés.
L'action Recompile single file, désormais disponible pour Ninja et d'autres générateurs utilisés dans CMake et pris en charge dans CLion, permet d'accélérer le processus de développement en vérifiant rapidement les modifications locales.
Grâce à une importante correction de bug, CLion peut désormais créer plusieurs projets indépendants en parallèle, sans qu'ils ne se bloquent entre eux au démarrage.
L'analyse de code dans CLion 2020.2 a fait l'objet d'une mise à jour majeure afin d’accroître la précision de nombreux contrôles et de couvrir plus de cas. Cette version poursuit également le travail de perfectionnement de l'analyse des flux de données, précédemment réimplémentée par dessus le moteur basé sur Clangd.
Les pointeurs qui dirigent vers des données non valides entraînent des problèmes d'exécution. Les cas typiques sont les combinaisons de double-free et use-after-free. CLion détecte maintenant ces pointeurs suspendus s'ils apparaissent dans la zone locale. Aucune arithmétique de pointeur n'est impliquée et les macros n'empêchent pas CLion d'effectuer l'analyse.
L'inspection de code Simplify est désormais plus précise et concerne d'avantage de cas. Elle fonctionne pour les types de déclarations suivants :
condition == true.condition1? true : condition2.if(condition1) return true; return condition2; Les cas peuvent être configurés séparément dans une Settings | Editor | Inspections | C/C++ | General | Simplifiable statement.
Cette inspection de CLion détecte les situations dans lesquelles une condition de boucle n'est pas mise à jour à l'intérieur de la boucle. Elle est similaire au clang-tidy:bugprone-infinite-loop de Clang-Tidy, mais fonctionne pour les boucles avec des points de sortie et peut gérer les cas avec des lambdas ou des références.
L'inspection Unused code a été remaniée en profondeur. Entre autres modifications, elle fonctionne désormais pour les alias de type, à la fois pour les constructions using définies globalement et localement.
Dernier ajout mais non des moindres : un nouveau widget d'inspections. Il affiche le nombre d'avertissements et d'erreurs dans le fichier actuel et vous permet de naviguer facilement entre eux. Vous pouvez également configurer le niveau de surbrillance (comme vous le pouviez auparavant avec l'icône Hector).
Si vous cliquez sur le widget d'inspections, vous ouvrez la fenêtre d'outils Problems (View | Tool Window | Problems). Elle affiche la liste des avertissements et des erreurs dans le fichier actuel, vous aide à naviguer jusqu'à l'emplacement de votre code où le problème a été détecté et vous permet de résoudre les problèmes grâce au raccourci Alt+Entrée directement depuis la fenêtre d'outils.
Cette année apporte officiellement une nouvelle norme de langage aux développeurs C++, et CLion prend déjà en charge plusieurs de ses fonctionnalités. Le moteur de langage de CLion 2020.2 est aussi globalement plus stable sur le code C++20.
Les nouveaux mots-clés sont pris en charge par CLion 2020.2 dans le cadre de la mise en évidence et de la saisie semi-automatique du code :
char8_tconsteval et constinitco_await, co_return et co_yield
La saisie saisie semi-automatique du code dans les initialiseurs désignés fonctionne désormais pour les champs d'une classe de base.
Le construction C++20 explicit(bool) est maintenant correctement mise en évidence. Elle est également prise en charge dans la navigation et la refactorisation et bénéficie de suggestions de noms pour les arguments des conditions.
for basé sur une plage avec initialiseur Les boucles for basées sur une plage avec l'instruction init sont désormais prises en charge. Cela inclut des refactorisations comme Rename pour les variables situées dans la boucle.
Une nouvelle inspection a été ajoutée pour le code qui utilise les Concepts. Elle suggère de restreindre les variables locales déclarées comme auto si le résultat d'un appel de fonction restreint leur est affecté.
Ces types de tests dans Catch2 sont maintenant reconnus et gérés comme les autres types de tests.
La macro GTEST_SKIP() dans Google Test permet d'ignorer les tests lors de l'exécution. Elle est désormais prise en charge par CLion.
CLion 2020.2 améliore l'expérience utilisateur en ajoutant automatiquement des indicateurs de couverture lorsque vous cliquez sur le bouton Run with Coverage. Désormais, si votre profil CMake actuellement sélectionné n'inclut pas les options du compilateur pour la couverture, CLion recherchera un profil CMake (et en créera un s'il n'en trouve pas) avec les indicateurs de couverture passés via CMAKE_CXX_FLAGS et CMAKE_C_FLAGS.
Pour le développement embarqué, nous avons mis à jour un plugin pour PlatformIO, apportant des améliorations significatives :
Le code des fichiers de configuration de projet PlatformIO est désormais correctement mis en évidence, ce qui facilite la lecture et la mise à jour de ces fichiers.
Lorsqu'un nouveau projet est créé à partir de l'assistant New Project dans CLion, de nombreuses configurations Run/Debug utiles sont automatiquement ajoutées. Citons notamment _PROGRAM, _MONITOR, _CLEAN et _TEST.
CLion crée désormais automatiquement des profils CMake pour les entrées CMAKE_CONFIGURATION_TYPES dans le projet PlatformIO CMake.
Si vous développez avec les chaînes d'outils WSL2 et utilisez Git sur WSL2, vous pouvez désormais basculer entre les exécutables Git en fonction de l'emplacement du projet. Il détectera automatiquement l'exécutable Git à partir de WSL2 pour les projets ouverts à partir de là (via le chemin \\wsl$) et basculera toutes les fonctionnalités liées à Git pour assurer leur compatibilité.
CLion 2020.2 inaugure une nouvelle vue plus spacieuse pour les requêtes pull GitHub. Elle montre tous les détails d'une requête pull particulière (comme les messages, les noms de branche, l'auteur, le responsable, les fichiers modifiés, les commits et la chronologie) et affiche les résultats des vérifications préalables au commit. Il facilite également de nombreuses actions, notamment : démarrer une révision, demander des révisions, joindre des commentaires ou fusionner des requêtes pull dans l'IDE.
L'action Go to Declaration or Usages (Ctrl+Click / Ctrl+B) se comporte différemment selon les cas et les paramètres de l'IDE :
Settings | Editor | General | Go to Declaration or Usages. Plusieurs blocages et ralentissements de l'interface utilisateur ont été corrigés. Pour éviter une dégradation des performances de l'éditeur, CLion insère désormais une barre oblique inverse lorsque vous appuyez sur Entrée dans la définition de macro. La définition de la macro sera très probablement poursuivie sur une nouvelle ligne. Cela évite donc à l'IDE de procéder à une analyse redondante.
Dans la version 0.3 du plugin, le nouveau moteur d'extension des macros, jusqu'alors expérimental, est activé par défaut. Ce moteur gère les blocs impl générés par macro et les déclarations de modules. Il fournit des informations sur l'intégralité de votre code, y compris les crates comme tokio et async-std. Apprenez-en davantage dans cet article de blog.
Autre mise à jour majeure : l'introduction de la prise en charge initiale du débogueur pour la chaîne d'outils MSVC de Rust. Vous pouvez maintenant utiliser le débogueur basé sur LLDB fourni dans CLion pour la chaîne d'outils Visual Studio afin de déboguer le code Rust construit sur Windows à l'aide du MSVC de Rust.
Les autres améliorations concernent de nouvelles refactorisations (Move pour les fichiers et les éléments de niveau supérieur et Introduce Constant), la prise en charge initiale de or_patterns, la mise en évidence des erreurs dans les littéraux de format dans des macros comme println!, l'affichage de la documentation dans l'éditeur, des conseils d'insertion pour les appels de méthode en chaîne et des améliorations du workflow du débogueur dans IntelliJ IDEA.
Settings | Languages & Frameworks | C/C++ | Clangd inclut désormais des informations sur la révision LLVM Clang utilisée, vous saurez donc à quoi vous attendre en matière de compatibilité avec C++ et de vérifications Clang-Tidy intégrées.
Si vous utilisez le compilateur/la chaîne d'outils IAR dans vos projets intégrés, vous pouvez désormais le faire dans CLion. La collecte des informations du compilateur n'échoue plus, ce qui signifie que les projets utilisant la chaîne d'outils IAR se chargent correctement et fonctionnent dans CLion.
Quelques points sont à noter ici :
PlatformIO est un écosystème de nouvelle génération qui gagne rapidement en popularité. Pour en bénéficier dans vos projets embarqués, profitez du nouveau plugin PlatformIO for CLion qui :
Et bien plus! Consultez la documentation officielle pour en savoir plus.
Le code en CUDA C et C++, y compris toutes les extensions CUDA spécifiques, est maintenant analysé et mis en évidence correctement. Par conséquence la navigation dans le code, la documentation et autres actions d'assistance au codage fonctionnent dans un code CUDA. De plus, CLion peut compléter les chevrons pour les appels au noyau.
Clonons le projet ClaraGenomicsAnalysis de GitHub pour découvrir les capacités de prise en charge de CUDA dans CLion.
L'assistant New Project dans CLion a été mis à jour avec une nouvelle option pour créer des projets CUDA - bibliothèques ou exécutables. Une fois sélectionnée, elle génère pour vous des exemples de fichiers CMakeLists.txt et main.cu.
Les nouvelles extensions de fichiers CUDA prises en charge, .cu et .cuh, sont disponibles dans la nouvelle boîte de dialogue de création de fichiers C/C++. Et la liste des cibles possibles à mettre à jour dans cette boîte de dialogue comprend à la fois des cibles générales CMake et des cibles spécifiques CUDA (créées avec les commandes cuda_add_executable et cuda_add_library).
L'utilisation de clang-cl est maintenant possible dans CLion sous Windows, avec les versions 8.0 et ultérieures prises en charge.
Vous pouvez l'installer à partir du site Web de LLVM ou avec les outils Visual Studio. Une fois l'opération terminée, sélectionnez la chaîne d'outils Visual Studio dans CLion et pointez sur clang-cl.exe dans les paramètres de la chaîne d'outils.
Le débogueur basé sur LLDB pour la chaîne d'outils Visual Studio C++ développé par JetBrains est maintenant le débogueur par défaut pour cette chaîne d'outils. Vous pouvez donc commencer à l'utiliser directement !
Notez que la prise en charge groupée des visualiseurs natifs doit être activée explicitement dans Settings | Build, Execution, Deployment | Debugger Data Views | Enable NatVis renderers for LLDB.
Les configurations Serveur GDB à distance et Serveur GDB embarqué fonctionnent désormais avec des cibles personnalisées. Ces configurations, qui ne fonctionnaient auparavant qu'avec les cibles CMake, vous permettent de déboguer votre application sur un hôte distant ou sur le microcontrôleur depuis l’instance CLion exécutée sur votre machine locale.
Si vous avez déjà créé ces configurations, CLion 2020.1 stockera les paramètres de configuration Run/Debug précédents dans le répertoire projectFilesBackup du dossier de projet et vous en informera.
Vous pouvez désormais utiliser des variables de chemin d'accès et des macros dans les champs Program Arguments et Working Directory dans les configurations CMake, Custom Build et Gradle Native Applications. Les macros vous aident à obtenir des valeurs pour :
Les macros FilePrompt/Prompt peuvent être utilisées pour afficher une boîte de dialogue de sélection de fichier ou de saisie de chaîne de caractères lors de l'exécution/du débogage de la configuration.
La variable de chemin d'accès peut définir un chemin d'accès à une bibliothèque largement utilisée dans vos projets mais qui se trouve en dehors du répertoire du projet.
Si vous avez besoin de rediriger l'entrée d'un fichier vers le stdin de votre application, c'est maintenant possible. Utilisez le nouveau champ de configuration appelé Redirect input from. Entrée:
L'analyse de flux de données (DFA) de CLion fait quelque chose qu'un compilateur n'est généralement pas capable de faire : il analyse la façon dont les données transitent par votre code et détecte les problèmes potentiels en fonction des résultats. Elle intercepte les conditions toujours fausses/vraies, les boucles sans fin, les instructions de retour manquantes, la récursion infinie, etc. Et avec la version 2020.1, la DFA est passée au moteur de langage basé sur Clangd pour devenir plus précis et moins lourd en termes de performances. Le travail n'est pas terminé, mais de bons résultats sont déjà à disposition !
Un nouveau mode, dans lequel la saisie semi-automatique est entièrement fournie par le moteur de langage basé sur Clangd, est activé par défaut. Ce mode résout les problèmes de hiérarchisation et de classement qui se produisaient lorsque les résultats de la saisie semi-automatique du code de plusieurs moteurs étaient mélangés. Ce comportement est contrôlé par le paramètre Code Completion dans Settings | Languages & Frameworks | C/C++ | Clangd.
Des dizaines de correctifs et d'améliorations renforcent la précision et la puissance de ce nouveau mode.
Désormais, lorsque vous ouvrez un projet pour la première fois avec un fichier de configuration .clang-format à la racine du projet, CLion le détecte et basculer automatiquement vers ClangFormat pour vous.
Si vous activez ClangFormat pour un projet ne comportant pas de fichier de configuration .clang-format, CLion vous proposera d'en créer un pour vous.
Lorsqu'un fichier de configuration .clang-tidy est détecté dans le projet, CLion désactive désormais automatiquement l'utilisation des paramètres de l'IDE pour Clang-Tidy. Le comportement est contrôlé par Prefer .clang-tidy files over IDE settings dans Settings | Editor | Inspections | C/C++ | General | Clang-Tidy.
Les champs de membres de structure et les champs de membres de classe ont désormais des paramètres de nommage différents. Découvrez-les dans Settings | Editor | Code Style | C/C++ | Naming Convention.
#pragma region et #pragma endregion peuvent être utilisees dans CLion pour le pliage de code.
Lors de l'appel de la refactorisation Change Signature (Ctrl+F6), CLion actualise toutes les utilisations de la fonction. Un nouveau champ Default value dans la boîte de dialogue Change Signature offre la possibilité de spécifier la valeur du paramètre pour toutes les utilisations. Laissez-le vierge pour utiliser le type de valeur par défaut.
La même logique et un nouveau champ Default value s'appliquent au correctif rapide Create Parameter From Usage et à l'intention Add Parameter to Constructor.
La documentation rapide, un outil universel pour prévisualiser la documentation et obtenir des informations sur la signature de fonction, les types inférés et le remplacement de macro, est désormais disponible au survol de la souris.
Contrôlez cet outil à l'aide du paramètre Show quick documentation on mouse move dans Settings | Editor | Code Editing.
La police par défaut dans l'éditeur a été remplacée par JetBrains Mono, une nouvelle police de caractères open source créée par JetBrains. Elle a été spécialement conçue pour faciliter la lecture du code.
Un nouveau thème clair par défaut, IntelliJ Light, est maintenant le thème standard sur tous les systèmes d'exploitation. Utilisez View | Quick Switch Scheme | Theme pour sélectionner un thème autre que celui par défaut si vous le souhaitez.
Avec CLion 2020.1, vous pouvez fractionner les sessions de terminal verticalement ou horizontalement afin de pouvoir les exécuter côte à côte. Vous pouvez appeler le menu contextuel à partir du terminal pour créer une session de terminal fractionnée, y naviguer et la fermer.
Une fenêtre d'outil actualisée offre davantage d'espace pour la liste des fichiers modifiés et le diff. Elle vous permet également d'ajouter des modifications à un commit quand elles sont prêtes, de composer un message de commit de manière itérative, et de choisir quelle modification échelonnée va dans quel commit.
La nouvelle interface utilisateur est activée par défaut pour les nouveaux utilisateurs. Les utilisateurs existants peuvent l'activer dans Settings | Version Control | Commit.
Une boîte de dialogue mise à jour et véritablement interactive permet de :
La fenêtre d'outil Version Control s'appelle désormais la fenêtre d'outil Git, ou Subversion/Mercurial/Perforce si vous utilisez l'un de ces outils au lieu de Git.
Vous n'avez plus besoin de préinstaller Git manuellement ! Lorsque vous ouvrez un projet à l'aide de Git ou en importez un à partir du VCS, si vous n'avez pas Git sur votre machine, CLion vous proposera de télécharger et d'installer Git pour vous.
Grâce aux améliorations apportées à la prise en charge de LLDB, IntelliJ Rust affiche désormais correctement les énumérations et les types primitifs, et il affiche également clairement les noms de fonction dans la pile des appels.
Autre mise à jour majeure qui a atterri dans l'extension : l'intégration avec REPL. Appelez la console depuis Tools | Rust REPL et utilisez-la pour le prototypage et la vérification de votre code ligne par ligne. L'intégration fournit la mise en évidence de la syntaxe et la saisie semi-automatique du code, ainsi que certaines actions pratiques de la console : historique des commandes, retours à la ligne, défilement rapide jusqu'à la fin, etc.
Du côté de la prise en charge des langages, IntelliJ Rust gère désormais les blocs impl pour les alias de types. Pour tenir compte des performances, nous n'avons activé cette fonctionnalité que pour les types avec un nombre limité d'alias.
Parmi les autres améliorations, citons la mise en évidence des variables locales inutilisées, des corrections de la prise en charge des attributs cfg et la nouvelle inspection Lift return.
Settings | Tools | SSH Configurations.