JetBrains ouvre maintenant le programme d'accès anticipé (EAP) à ReSharper C++ 2024.3, la troisième mise à jour majeure de cette année. Vous pouvez donc essayer les nouvelles fonctionnalités avant qu'elles ne soient officiellement publiées. Cela dit, quelles sont les nouveautés et améliorations de cette version ?
Move to Folder
La refactorisation Move to Folder gère désormais les fichiers C++ également. Après avoir déplacé les fichiers sélectionnés vers leur nouvel emplacement, la refactorisation mettra à jour les directives #include qui référencent les fichiers déplacés.
Prise en charge du langage
ReSharper C++ prend désormais en charge les nouvelles fonctionnalités de langage suivantes :
- Suffixe de littéral pour size_t et attributs sur les expressions lambda de C++23.
- Les opérateurs typeof et typeof_unqual de C23.
- Le trait de type std::has_unique_object_representations de C++17.
JetBrains a également amélioré la compatibilité avec des chaînes d'outils C++ autres que MSVC.
Bibliothèque ranges
ReSharper C++ 2024.3 contient plusieurs améliorations pour les utilisateurs de la bibliothèque ranges de C++20. Entre autres changements, il y a de nouvelles actions contextuelles pour convertir l'utilisation d'adaptateurs range entre les formes pipe et appel, ainsi que des erreurs de surcharge plus lisibles pour les adaptateurs range utilisant la forme pipe.
Formatage de code et assistance à la saisie
- En plus des commentaires // @formatter:off/on, le formateur de code peut désormais également être désactivé et activé avec les commentaires // clang-format off/on pour une meilleure interopérabilité avec clang-format.
- L'assistance à la saisie insère automatiquement un espace entre les mots-clés de contrôle de flux (for/if/while/switch/catch) et la parenthèse ouvrante si l'option de formateur correspondante est activée.
- Un nouveau paramètre du formateur contrôle les sauts de ligne entre une déclaration et un bloc try de fonction.
Commentaires de documentation XML
Lors de l'utilisation du modèle intégré de commentaires de documentation, vous pouvez désormais personnaliser le modèle pour utiliser la documentation XML au lieu de Doxygen grâce à un nouveau paramètre de génération de code. De plus, ReSharper C++ reconnaît maintenant la documentation XML à l'intérieur des commentaires /**...*/, en plus des commentaires ///....
Support d'Unreal Engine
ReSharper 2024.3 propose des live templates intégrés pour générer des instructions de journalisation UE_LOG et UE_LOGFMT dans les solutions Unreal Engine. Ces modèles permettent de choisir rapidement la catégorie de journalisation souhaitée et le niveau de verbosité à partir d'une liste de valeurs disponibles. Comme d'habitude, vous pouvez personnaliser davantage ces modèles dans Templates Explorer.
Génération de code
Auparavant, lors de la génération d'une fonction redéfinie avec Generate ou la complétion générative, ReSharper C++ omettait les arguments par défaut des fonctions. La principale raison était d'éviter les situations où les arguments par défaut diffèrent entre une fonction de base et un overrider.
Cependant, dans certaines bases de code avec des hiérarchies d'objets profondes comme Unreal Engine, la convention est de dupliquer les arguments par défaut dans les fonctions redéfinies. Le nouveau paramètre Keep default arguments when generating an overriding function dans les paramètres de génération de code vous permet de contrôler si vous souhaitez préserver les arguments par défaut.
Analyse de code
JetBrains a mis à jour l'inspection Can be replaced with structured bindings pour la rendre moins envahissante. ReSharper C++ 2024.3 ne montre plus cette inspection dans les cas où le remplacement entraînerait plus de deux liaisons structurées et où elles ne seraient pas toutes utilisées. Si vous souhaitez toujours remplacer une déclaration par des liaisons structurées, vous pouvez utiliser l'action contextuelle correspondante Convert to structured bindings.
Voici présentés les points forts de cette première version EAP. D'autres nouveautés et améliorations seront livrées tout au long du programme EAP. Vous pouvez télécharger les dernières builds EAP à partir du site Web officiel de ReSharper C++. Vous pouvez aussi les obtenir à partir de l'application gratuite Toolbox ou utiliser des snaps si vous utilisez Ubuntu.
Télécharger la dernière version EAP de ReSharper C++