JetBrains lance le programme d'accès anticipé (EAP) à CLion 2023.3
La troisième mise à jour majeure de l'année de son EDI C/C++ multiplateforme

C'est en fin fuillet que JetBrains a annoncé la sortie de CLion 2023.2, la deuxième mise à jour majeure de l'année de son EDI C/C++ multiplateforme. Dans cette version, JetBrains a repensé l'intégration de PlatformIO et amélioré la prise en charge de vcpkg. CLion 2023.2 est également venue avec la fonctionnalité AI Assistant insérée naturellement dans certains workflows essentiels des utilisateurs de l'EDI. Cette version a permis en outre d'améliorer l'expérience du débogage embarqué, à distance, et de bas niveau.

Le programme d'accès anticipé (EAP) à CLion 2023.3, la troisième mise à jour majeure de l'année de l'EDI C/C++ multiplateforme de JetBrains, a maintenant démarré. Vous pouvez télécharger les dernières builds EAP sur le site Web de JetBrains. Vous pouvez également les obtenir via l'application Toolbox ou sous forme de package snap (si vous utilisez Ubuntu).

Cela dit, quelles sont les nouveautés de la première version EAP de CLion 2023.3 ? C'est ce que nous présentons ici.

Vue assembleur pour les fichiers

Vérifier le code assembleur sous-jacent est important lorsque vous essayez de trouver un bogue ou d'optimiser les performances d'exécution de votre code. C'est pourquoi des outils tels que Compiler Explorer sont populaires. Jusqu'à présent, CLion était capable d'afficher le code de désassemblage uniquement pendant le débogage. JetBrains reçoit souvent des demandes pour rendre la fonctionnalité similaire à celle de Compiler Explorer et la rendre disponible même sans utiliser un débogueur.

La nouvelle action Show Assembly fait justement cela ! Vous pouvez la trouver via Find Action (Double Maj). En utilisant les paramètres du compilateur de la configuration de résolution sélectionnée, il compile le code du fichier C/C++ affiché en code assembleur et ouvre un éditeur avec un aperçu montrant quel code source produit quel assembleur :


L'aperçu comporte des arguments de compilateur qui peuvent être modifiés pour voir comment ils affectent le code produit.

L'action Show Assembly prend en charge les compilateurs GCC, Clang et Visual Studio C++, et fonctionne pour les fichiers source et d'en-tête C et C++ (CUDA et d'autres langages connexes ne sont actuellement pas pris en charge). L'action ne fonctionne que pour les chaînes d'outils locales, ce qui signifie que les chaînes d'outils à distance et WSL ne sont pas encore prises en charge.

Améliorations de l'analyse du code C++

L'équipe de CLion travaille constamment à améliorer la précision de l'analyse du code de CLion. Dans cette version EAP, JetBrains a mis en œuvre une approche qui a permis de distinguer différents contextes de fonction pour des chaînes d'appels imbriquées arbitraires, ce qui se traduit par une analyse de flux de données (DFA) plus précise :


Les inspections existantes dans la DFA tiennent désormais compte également des champs, et il existe une nouvelle inspection qui vous avertit si tous les champs n'ont pas été initialisés :


Chaque fois que JetBrains ajoute une analyse supplémentaire et prend en compte des conditions supplémentaires, l'éditeur de logiciels pour développeurs doit s'assurer que les performances globales de l'analyse ne se détériorent pas. Cette fois-ci, JetBrains a également implémenté plusieurs optimisations et espère partager quelques mesures avec vous ultérieurement, car d'autres optimisations de la DFA arrivent.

Exclusion des répertoires de tests de l'indexation

Pour vous aider avec l'assistance au codage, la navigation et la saisie automatique de code, l'EDI doit construire un index des symboles de votre base de code. Pour certaines bibliothèques et autres portions de code externes, vous pourriez avoir besoin de cet index, mais pas de faire des tests depuis votre EDI, car vous ne les exécuterez probablement pas depuis l'EDI.

Vous pouvez maintenant exclure spécifiquement des répertoires de l'indexation des tests sans les exclure de l'indexation régulière de l'EDI. Pour ce faire, vous devez créer une portée dans Settings/Preferences | Appearance & Behavior | Scopes avec le nom "Tests" et spécifier le modèle basé sur les fichiers ou les dossiers pour cette portée. Le nom de la portée Tests est configurable dans Settings/Preferences | Advanced Settings | Tests Indexing Task :


Si la portée Tests est définie dans le projet, seuls les fichiers filtrés par la portée seront indexés pour les tests. Sinon, tous les fichiers seront analysés comme auparavant.

Une fois que la portée Tests est configurée, elle peut être utilisée comme un filtre de la vue Projet, ce qui est un moyen pratique d'accéder rapidement à tous les fichiers de test de votre projet :


Mises à jour de l'interface utilisateur

  • Si vous préférez une vue plus compacte de l'EDI, il y a une nouvelle option pour masquer la barre d'outils principale en mode d'affichage par défaut. Allez dans View | Appearance et décochez l'option Toolbar pour la masquer.

  • Si vous souhaitez rapidement revenir à la disposition personnalisée des fenêtres d'outils de CLion à la disposition par défaut, vous pouvez maintenant utiliser Window | Layouts | Default pour ramener l'apparence de votre espace de travail à son état par défaut.

  • La coloration des onglets de fichiers vous aidera désormais à distinguer facilement différents types de fichiers dans les onglets de l'éditeur et dans la fenêtre d'outils Projet. Vous pouvez trouver les paramètres pertinents dans Settings/Preferences | Appearance & Behavior | File Colors.

  • Et si vous utilisez macOS, vous remarquerez une nouvelle icône pour CLion. JetBrains a retravaillé l'icône CLion pour l'aligner sur les directives de style standard du système d'exploitation.

Système de contrôle de version (VCS)

En élargissant l'intégration de GitLab introduite dans CLion 2023.2, JetBrains a ajouté la prise en charge des extraits GitLab. Vous pouvez désormais créer des extraits publics ou privés directement dans l'EDI.

Autres changements

CLion détecte les types QML dans un projet afin de les analyser et de fournir une assistance au codage. Cependant, les types QML de bibliothèque ou les types de plugins d'utilisateurs sont souvent dans d'autres emplacements. Pour résoudre ce problème, JetBrains a introduit le nouveau paramètre Extra QML imports dans Settings/Preferences | Languages & Frameworks | QML, qui permet à l'EDI de rechercher les imports QML dans des emplacements spécifiés et d'analyser les types à partir du code utilisateur. La valeur du paramètre doit inclure le chemin du répertoire vers le dossier bin, sans le nom de la bibliothèque.

La gestion des packages reste un défi en C++, mais de bons outils comme vcpkg et Conan sont disponibles pour vous aider. Pour vous aider à mieux comprendre les graphiques de dépendances de packages, l'intégration de vcpkg dans CLion affiche désormais la liste des dépendances de packages dans la description du package dans la fenêtre d'outils vcpkg :


Lorsque vous créez un nouveau projet via l'assistant New Project dans CLion, un fichier main.cpp ou main.c est généré automatiquement pour vous. Dans certains cas cependant, vous voudrez peut-être utiliser un modèle personnalisé pour ces fichiers. Maintenant, dans la version CLion 2023.3 EAP, vous pouvez modifier de tels modèles dans Settings/Preferences | Editor | File and Code Templates | Other.


Attach to process est possible avec le débogueur de votre choix si plusieurs options sont configurées. Pour votre confort, la boîte de dialogue se souvient maintenant du dernier débogueur sélectionné.

Télécharger la dernière version EAP de CLion