Nouveautés de ReSharper C++ 2025.1

ReSharper C++ 2025.1 améliore les fonctionnalités d'évaluation de constexpr et inclut la prise en charge des nouvelles extensions de langage GNU pour faciliter le développement multiplateforme. D'autres mises à jour incluent la nouvelle refactorisation Inline Macro, une meilleure prise en charge de GoogleTest et la compatibilité de Clang-Tidy avec la plateforme ARM. Les développeurs Unreal Engine bénéficient également d'une meilleure utilisation de la mémoire dans les projets ayant un grand nombre de Blueprints.

Fonctionnalités du langage

ReSharper C++ 2025.1 introduit la prise en charge de nombreuses nouvelles extensions de langage GNU, avec notamment :

  • Expressions conditionnelles avec opérandes omis
  • Directives #import
  • Types à virgule flottante _Float16, __bf16 et __float128
  • Étiquettes locales
  • Syntaxe de la plage d'initialisation désignée

De plus, ReSharper C++ prend désormais en charge les types à virgule flottante de C23.

Nous avons amélioré les fonctionnalités du moteur d'évaluation constexpr. ReSharper C++ permet maintenant d'évaluer les fonctions constexpr qui contiennent des instructions switch ou if avec un initialiseur, des liaisons structurées, ainsi qu'une initialisation par défaut triviale. Il est également possible d'utiliser l'évaluation par défaut de operator== de C++20.

Unreal Engine

Nous nous sommes concentrés sur l'optimisation de l'utilisation de la mémoire par les fonctionnalités liées à Blueprint dans ReSharper C++ 2025.1. Dans la mesure où les données mises en cache sont déchargées sur le disque, l'utilisation de la mémoire par les projets comportant un nombre élevé de Blueprints sera considérablement réduite, afin d'améliorer les performances globales.

De plus, ReSharper C++ peut désormais reconnaître et mettre en évidence les macros de réflexion UMETA et UPARAM, en apportant la saisie semi-automatique du code et la documentation sous forme d'infobulles pour les macros et leurs attributs.

Si vous recherchez un IDE autonome et multiplateforme pour le développement Unreal Engine, nous vous suggérons d'essayer Rider. La prise en charge d'Unreal Engine dans Rider et dans ReSharper C++ est alignée, vous retrouverez donc les mêmes améliorations dans la version 2025.1 de Rider.

Refactorisation Inline Macro

La nouvelle refactorisation Inline Macro permet de substituer facilement toutes les utilisations d'une macro dans votre code. La refactorisation signale également les utilisations potentielles dans le corps des macros, ainsi que les arguments de macro qui doivent être vérifiés manuellement.

Assistance au codage

L'action Switch Header/Source améliorée suggère non seulement les fichiers contenant un nom correspondant, mais aussi les fichiers contenant une déclaration ou une définition de fonction provenant du fichier actif pour simplifier la navigation.

Les références incluses dans les attributs __declspec(property) sont désormais correctement mises en évidence, détectées par Find Usages et mises à jour au cours de la refactorisation Rename.

La nouvelle inspection Redundant forward declaration détecte les doublons de déclarations anticipées de classe dans un fichier et propose un correctif rapide pour y remédier.

Clang-Tidy

ReSharper C++ 2025.1 met à jour la version intégrée de Clang-Tidy vers Clang 20, ce qui apporte les dernières vérifications et améliorations de la nouvelle version de LLVM. Cette mise à jour améliore également la prise en charge de la plateforme ARM et intègre un binaire Clang-Tidy pour Windows ARM.

Les vérifications de Clang-Tidy sont désormais regroupées par préfixe sur la page de paramètres Inspection Severity, ce qui facilite la navigation vers des vérifications spécifiques et l'activation ou la désactivation rapide de groupes de vérification.

GoogleTest

ReSharper C++ 2025.1 apporte plusieurs mises à jour à la prise en charge de GoogleTest. Lors de l'exécution des tests paramétrisés de valeur et de type, les cas de test destinés à des valeurs et des types spécifiques sont désormais regroupés en fonction de leurs tests paramétrisés respectifs, ce qui rend les résultats de test plus structurés et lisibles.

Les tests paramétrisés sont désormais découverts dans le code source sans avoir à les exécuter. Par conséquent, vous pouvez utiliser les icônes de gouttière et les actions contextuelles pour exécuter l'intégralité des suites de tests et les tests individuels paramétrisés directement depuis l'éditeur.

Consultez la page des Nouveautés de ReSharper pour en savoir plus sur tous les autres changements introduits dans cette version.