ReSharper C++ 2024.1 améliore la prise en charge des modules C++20 et implémente les appels sortants dans Call Tracking. Les améliorations de l'assistance au codage incluent notamment l'ajout de nouvelles fonctionnalités dans Change Signature et la mise à jour de la prise en charge des commentaires de documentation. Pour les développeurs Unreal Engine, ReSharper C++ 2024.1 introduit la prise en charge du framework d'interface utilisateur Slate et la saisie semi-automatique du chemin des ressources dans le code C++.
Essai gratuit de 30 jours disponible
Le processus de découverte des modules mis à jour permet à ReSharper C++ de prendre en charge les unités de partition internes qui correspondent aux unités de partition du module qui ne contribuent pas à l'interface externe d'un module. En d'autres termes, il s'agit de partitions de module sans déclaration export module
associée.
Nous avons remanié la représentation interne des modules C++20 exportés pour faciliter la transmission des références aux entités importées depuis d'autres modules. Auparavant, ces entités étaient réexportées depuis le module qui les avait importées. Nous pensons que cette modification va réduire de façon significative l'empreinte des modules exportés et améliorer les performances des projets utilisant les modules C++20.
ReSharper C++ 2024.1 inaugue la prise en charge de la syntaxe déclarative du framework d'interface utilisateur Slate. Vous pouvez compter sur l'aide de l'outil de formatage du code et sur l'assistance à la saisie de ReSharper pour que votre code Slate soit conforme aux conventions d'Unreal Engine. Les fonctionnalités Go to declaration, Find Usages et Rename ont également fait l'objet d'une mise à jour afin qu'elles comprennent la syntaxe déclarative de Slate.
L'intégration de ReSharper C++ avec la fonctionnalité Blueprint se poursuit, avec la prise en charge de l'ajout des redirections principale lorsque lors du renommage des instances UENUM, ainsi que la saisie semi-automatique des chemins de ressource pour les noms de ressource dans le code C++.
Les interfaces HLSL utilisées pour la liaison dynamique des shaders sont maintenant prises en charge dans le code du shader.
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.1 de Rider.
En plus de la prise en charge pour le suivi des appels entrants, la fonction Call Tracking de ReSharper prend désormais en charge la navigation dans les chaînes d'appel C++ sortantes. Pour explorer les appels sortants, placez le caret sur n'importe quelle fonction et sélectionnez Inspect | Outgoing calls dans le menu contextuel. Vous pouvez aussi utiliser Ctrl+Maj+Alt+A pour faire un appel depuis le menu Inspect This.
Change Signature permet maintenant de modifier facilement le type d'un paramètre de fonction entre un pointeur, une référence ou un type de valeur. ReSharper met automatiquement à jour les utilisations du paramètre dans le corps de la fonction et ajuste les arguments de la fonction au niveau des emplacements d'appel de la fonction, en ajoutant des opérateurs de déréférencement ou des opérateurs address-of si nécessaire.
Lorsque Change Signature est appelée sur une fonction ayant des utilisations potentielles dans du code dépendant, la refactorisation permet de vérifier les modifications et de confirmer les utilisations à mettre à jour.
Il est également possible de spécifier des arguments par défaut pour de nouveaux paramètres de fonction ajoutés en utilisant Change Signature.
Les autres mises à jour notables de Change Signature incluent :
int
dans les types unsigned int
. Il est maintenant possible de personnaliser le style des commentaires de documentation générés sans avoir à éditer un live template. Pour configurer le style des commentaires de documentation, allez dans la section Settings | Code editing | C++ | Code generation de ReSharper.
Le correcteur orthographique et grammatical intégré JetBrains Grazie a été introduit dans ReSharper 2023.3. Dans la version 2024.1, les inspections grammaticales générées par Grazie sont également disponibles dans les commentaires de documentation C++.
La refactorisation Change Signature synchronise désormais les commandes @param
avec la liste des paramètres de fonction. Cette refactorisation supprime les commandes @param
pour les paramètres supprimés, ajoute des commandes pour les nouveaux paramètres et réorganise les commandes existantes pour correspondre au nouvel ordre des paramètres inclus.
Selon les derniers résultats de la suite de tests étendue pour les outils de refactorisation C++ gérée par Richard Thomson, ReSharper C++ continue de surpasser les autres outils en réussissant le plus grand nombre de cas de test. Dans le cadre de notre processus d'amélioration continue des suggestions de ReSharper, nous avons corrigé plusieurs problèmes relevés par la suite de tests de Richard dans ReSharper C++ 2024.1. Par exemple, le correctif rapide Create constructor from usage ajoute désormais un constructeur par défaut si besoin.
ReSharper C++ 2024.1 propose désormais de supprimer les initialiseurs idiomatiques à zéro redondants dans l'initialisation globale. Plusieurs nouvelles inspections identifient différents problèmes au niveau des membres de données statiques, tels que les spécificateurs inline
sur les membres de données static constexpr
.
Le nettoyage du code ajoute de nouveaux éléments pour supprimer les spécificateurs d'accessibilité redondants et donner aux classes sans héritiers l'attribut final
. Apply ‘auto’ style peut gérer les variables globales et les membres de classes en plus des variables locales.
Jusqu'alors, pour supprimer une inspection dans une portée spécifique, il fallait utiliser les commentaires // ReSharper disable
propres à ReSharper. ReSharper C++ 2024.1 reconnaît désormais les commentaires NOLINT
, NOLINTNEXTLINE
et NOLINTBEGIN ... NOLINTEND
que clang-tidy utilise.
ReSharper C++ 2024.1 introduit plusieurs nouvelles options de formatage :
Lors de l'utilisation d'une configuration .clang-format
, le formateur de ReSharper respecte désormais les paramètres DisableFormat
et IndentAccessModifiers
. Le style de clang-format intégré GNU est maintenant pris en charge également.
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