ReSharper C++ 2024.2 implémente de nouvelles fonctionnalités C++23, enrichit les info-bulles avec des informations sur la disposition des types et apporte plusieurs améliorations à la refactorisation Rename. Pour les développeurs Unreal Engine, ReSharper C++ 2024.2 assure la prise en charge des traits de structure et ajoute une nouvelle inspection qui détecte les appels manquants aux méthodes de base.
Essai gratuit de 30 jours disponible
ReSharper C++ 2024.2 ajoute la prise en charge de l'opérateur d'indice multidimensionnel. L'utilisation de operator[]
avec plusieurs arguments offre une meilleure prise en charge des conteneurs et vues multidimensionnels.
À présent, ReSharper C++ comprend également les directives de préprocesseur #elifdef
et #elifndef
de C++23/C23 qui complètent les directives #ifdef
et #ifndef
existantes.
[[assume(<expr>)]]
est un nouvel attribut de C++23 qui apporte un moyen portable de fournir des informations supplémentaires à l'optimiseur via une expression d'argument. ReSharper C++ analyse désormais l'argument et prend en charge toutes les fonctionnalités usuelles d'information sur le code qu'il contient.
Une nouvelle inspection détecte les appels manquants aux méthodes de base, notamment dans les méthodes BeginDestroy
et GetLifetimeReplicatedProps
. Le correctif d'accompagnement insère l'appel Super
requis.
Une autre nouvelle inspection signale les utilisations de IOnlineSubsystem::Get()
et les remplace par Online::GetSubsystem(this->GetWorld())
.
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 2024.2 de Rider.
Les info-bulles permettent désormais de voir rapidement des informations sur la disposition des types. Il suffit de survoler une classe ou un champ de classe pour connaître sa taille et son alignement.
Lorsque vous survolez un champ de classe, vous pouvez également voir sa position relative par rapport au début de l'objet, ainsi que le remplissage ajouté après le champ.
Lorsque vous renommez un fichier, ReSharper C++ comporte désormais une nouvelle option permettant de renommer les fichiers liés en utilisant le même nom. Par exemple, si vous renommez un fichier d'en-tête, le fichier .cpp
qui inclut l'en-tête sera également renommé.
Enfin, lorsque vous renommez un espace de nom dans un fichier avec un nom correspondant, vous avez la possibilité de renommer le fichier contenant.
Nous avons mis à niveau le binaire clang-tidy intégré vers Clang 18, ce qui apporte de nouvelles vérifications et des améliorations provenant de la dernière version de LLVM.
Comme pour la prise en charge des commentaires NOLINT
dans la mise à jour 2024.1, ReSharper C++ reconnaît désormais les pragmas include-what-you-use, afin de supprimer l'inspection Possible unused #include directive.
L'option Why is ReSharper suggesting this? du menu d'inspection mène désormais aux recommandations C++ Core Guidelines relatives à l'inspection de code.
Le filtre Base method call est désormais disponible dans la fenêtre Find Results pour filtrer les appels de méthodes de base depuis la liste d'utilisations.
ReSharper C++ propose désomrais la saisie asynchrone, qui s'inscrit dans notre démarche d'amélioration continue des performances de ReSharper en permettant son exécution indépendamment de Visual Studio. Les tests que nous avons effectués en interne ont montré que l'activation de la saisie asynchrone améliore de façon notable la fluidité de l'expérience de saisie.
ReSharper C++ améliore également la compatibilité avec les projets CMake dans Visual Studio, en corrigeant plusieurs problèmes importants et en améliorant les performances lors de la modification du code.
Consultez la page des Nouveautés de ReSharper pour en savoir plus sur tous les autres changements introduits dans cette version.
Essai gratuit de 30 jours disponible