JetBrains annonce la disponibilité de la version 2022.1 de ReSharper C++
Son extension Visual Studio pour les développeurs C++

ReSharper C++ 2022.1 est disponible. Cette version de l'extension Visual Studio de JetBrains pour les développeurs C++ traite principalement les problèmes de qualité et de performances. Elle introduit également la prise en charge du framework de test d'Unreal Engine et la version remaniée du framework de test unitaire Catch2. Nous présentons dans la suite les nouveautés et améliorations de ReSharper C++ 2022.1 avec plus de détails.

Unreal Engine

ReSharper C++ 2022.1 adopte une approche novatrice permettant de consulter rapidement les détails d'une classe, d'un symbole ou d'une fonction dans la documentation d'Unreal Engine. Il est désormais possible de cliquer sur Read more dans la fenêtre contextuelle de Quick Documentation (Ctrl+Maj+F1) pour ouvrir la page correspondante dans votre navigateur.


La refactorisation Rename gère désormais mieux les classes de l'interface d'Unreal Engine. Lorsque vous renommez les interfaces, les classes U et I sont renommées en conséquence.


ReSharper C++ peut désormais substituer les noms de paramètres lorsque vous générez une signature de fonction membre à partir du délégué Unreal Engine.

Vous pouvez également générer ce type de fonction en utilisant le typedef ThisClass.


Vous trouverez ici un bref aperçu des principaux correctifs liés à Unreal et disponibles dans cette version :

  • Les macros de préprocesseur intégrées d'Unreal Engine 5 sont désormais prises en charge dans les fichiers .Build.cs et .Target.cs.
  • ReSharper ne propose plus les fonctionnalités C# récentes qui ne s'appliquent pas aux fichiers .Build.cs et .Target.cs sur Unreal Engine 4.
  • ReSharper C++ permet désormais de lire la liste des spécificateurs de réflexion valides directement depuis la version d'Unreal Engine qui est en cours d'utilisation, de sorte que seuls les éléments pertinents vous sont proposés lors de la saisie semi-automatique du code et que la documentation correspondante est affichée.
  • Les problèmes dus aux macros de modèle push DOREPLIFETIME_WITH_PARAMS_FAST et MARK_PROPERTY_DIRTY_FROM_NAME ont été éliminés. ReSharper C++ tient désormais compte des entités générées par le système de réplication, telles que l'énumération ENetFields_Private.

Test unitaire

Le framework de test d'Unreal Engine est maintenant pris en charge. ReSharper C++ introduit la prise en charge des tests unitaires d'Unreal Engine et ajoute les indicateurs d'action correspondants près de chaque test dans l'éditeur pour exécuter ou déboguer le test ou l'ensemble de la suite du test. La fenêtre Unit Test Sessions permet de consulter les résultats des tests et d'exécuter à nouveau les tests qui ont échoué, tous les tests ou des tests spécifiques.


La nouvelle version du framework de test unitaire Catch2 apporte des modifications significatives : le framework est désormais fractionné en plusieurs en-têtes et utilise une bibliothèque compilée de façon statique comme modèle de distribution. Cela signifie que vous devez désormais inclure plusieurs en-têtes, mais en contrepartie, la compilation est plus rapide. Par conséquent, si vous souhaitez essayer la nouvelle version du framework de test unitaire Catch2, ReSharper C++ 2022.1 le prend en charge totalement.


ReSharper C++ 2022.1 inclut également des mises à jour pour les dernières versions de GoogleTest et doctest, ainsi que différents correctifs de tests unitaires.

Prise en charge de C++

ReSharper C++ gère mieux les appels implicites de constructeurs, ce qui vous permet de trouver des utilisations et d'accéder au constructeur appelé dans davantage de cas, notamment :

  • fonctions de création de pointeur intelligentes standard (make_unique/make_shared) et spécifiques à Unreal (MakeShared/MakeUnique).
  • méthodes de conteneur de type emplace.
  • static_cast et expressions de conversion de type C.
  • ReSharper C++ affiche également un avertissement de surcharge si une fonction de type emplace est appelée avec des arguments incorrects.


ReSharper C++ 2022.1 améliore la génération sur plusieurs lignes de code réutilisable pour l'initialisation d'agrégats à partir d'initialisateurs C++20 désignés. Il est désormais possible d'appeler la saisie semi-automatique sur la ligne suivante si vous souhaitez placer chaque initialisateur sur une nouvelle ligne.


Mise en forme

ReSharper C++ traite désormais les expressions requires C++20 correctement, ce qui vous permet de configurer le formatage des espaces avec l'option Around ‘->’ in trailing return types.


Utilisez la nouvelle option Line feed at the end of file pour contrôler l'ajout ou le retrait d'une ligne vierge de la fin des fichiers.


Consultez la page Nouveautés de ReSharper pour en savoir plus sur les autres modifications apportées dans cette version. Par exemple, il est désormais possible de détecter automatiquement les paramètres de style pour les fichiers C#.

Nouveautés et téléchargement de ReSharper C++ 2022.1