ReSharper C++ 2021.3 est disponible. Cette version de l'extension Visual Studio de JetBrains pour les développeurs C++ vous permet de mettre votre code à niveau avec la version la plus récente de C++. Elle offre encore une meilleure prise en charge d'Unreal Engine et affiche les résultats de l'évaluation des expressions constantes directement dans l'info-bulle Quick Info. Cette version fournit également la prise en charge de Visual Studio 2022, ce qui améliore les performances globales et la réactivité lorsque vous travaillez avec des solutions volumineuses.
Prise en charge de Visual Studio 2022
ReSharper C++ prend maintenant en charge la nouvelle version de Visual Studio 2022. Vous aurez ainsi toujours accès à l'ensemble de fonctionnalités enrichies des versions précédentes de Visual Studio mais Visual Studio 2022 étant un processus 64 bits, la quantité de mémoire qui peut lui être allouée n'est plus limitée et les fonctionnalités de ReSharper С++ fonctionnent donc plus rapidement.
Pour travailler avec ReSharper C++ dans Visual Studio 2022, sélectionnez l'icône VS2022 de l'installateur dotUltimate 2021.3.
C++20
Vous pouvez utiliser des initialiseurs désignés C++20 afin de générer rapidement du code standard réutilisable pour l'initialisation d'agrégats. Sélectionnez simplement l'élément correspondant dans la liste de saisie semi-automatique pour insérer des désignateurs pour les membres de données, puis fournissez les valeurs initiales.
La fonction contains de C++20 permet de vérifier facilement si un élément existe dans un conteneur associatif. Une nouvelle inspection suggère le remplacement des instances de find ou count par la nouvelle fonction de membre contains.
La nouvelle norme apporte des fonctions de bibliothèque pratiques pour effacer les éléments qui fonctionnent pour tous les conteneurs standards. Une inspection dédiée vous informe si un idiome « erase-remove » peut être remplacé par std::erase ou std::erase_if.
Autre ajout à la bibliothèque : les fonctions de création de pointeurs intelligents qui effectuent l'initialisation par défaut. Lorsque vous devez allouer un tableau de types intégrés, puis l'initialiser immédiatement, vous disposez à présent d'un correctif rapide pour utiliser make_shared_for_overwrite ou make_unique_for_overwrite.
Unreal Engine
Avec ReSharper C++ 2021.3, vous n'avez plus à basculer vers Unreal Editor pour créer une classe : tous les modèles prédéfinis pour les classes Unreal Engine sont maintenant disponibles dans la liste de modèles de fichiers de ReSharper.
Pour créer une classe, allez dans Solution Explorer et faites un clic droit sur le dossier du projet de votre choix pour ouvrir le menu Add (ou utilisez Ctrl+Alt+Inser). Une fois que vous aurez choisi un modèle Unreal Engine dans la liste et nommé votre nouvelle classe, ReSharper C++ génèrera les fichiers d'en-tête et sources avec le code du modèle dans les dossiers appropriés selon le contexte (privé ou public).
ReSharper C++ fonctionne maintenant correctement avec le système Sparse Class Data d'Unreal Engine. JetBrains a en outre corrigé un problème qui entraînait parfois la réindexation du code source par ReSharper lors du chargement d'une solution.
Analyse du code
Une nouvelle inspection signale les parenthèses redondantes dans les lambdas sans paramètres, une liste de paramètres n'étant pas nécessaire dans de tels cas.
Si aucun spécificateur de type élaboré n'est utilisé pour déclarer une nouvelle classe ou faire référence à une classe déclarée précédemment mais masquée, ReSharper C++ proposera de supprimer le spécificateur.
Une nouvelle inspection trouve les boucles for qui peuvent être formulées de manière plus concise, comme des boucles while. Le correctif rapide correspondant permet de les réécrire plus rapidement.
Les spécialisations utilisateur de classes telles que std::hash ou std::formatter sont souvent incluses dans un espace de nom autonome. Pour rendre votre code plus lisible, ReSharper C++ suggère de le remplacer par un nom de classe qualifié.
Si vous construisez un objet d'un type d'exception sans l'utiliser, ReSharper C++ vous en avertit et vous donne la possibilité d'ajouter rapidement le mot-clé throw.
Le Clang-Tidy intégré a été mis à jour vers Clang 13 et inclut désormais de nouvelles vérifications provenant de la dernière version de LLVM.
Assistance au codage
L'info-bulle Quick Info inclut désormais les résultats d'évaluation des expressions constantes. Vous pouvez utiliser cette fonctionnalité pour voir la valeur des sous-expressions d'une expression static_assert ayant échoué, ou pour vérifier la valeur d'un opérateur sizeof ou alignof.
En complément de l'action Document (depuis le menu Alt+Entrée ou le raccourci Ctrl+/), vous pouvez désormais générer un stub pour un nouveau commentaire de documentation en saisissant /// avant une fonction ou toute autre entité à documenter.
Navigation
La fenêtre File Structure groupe désormais les symboles ayant le même qualificateur, ce qui est particulièrement utile pour les fichiers source qui contiennent beaucoup de fonctions sans classe.
Alors qu'il n'était pas possible d'y naviguer auparavant, ReSharper C++ 2021.3 permet maintenant de rechercher des déclarations dans du code inactif.
Vous pouvez également accéder à l'étiquette correspondante depuis une déclaration goto.
Change Signature
La refactorisation Change Signature permet maintenant de contrôler facilement l'attribut C++17 [[nodiscard]], qui indique que l'appelant de la fonction doit utiliser la valeur de retour de cette fonction.
Prise en charge de C
ReSharper C++ 2021.3 prend en charge les expressions _Generic de C11, ce qui fournit un mécanisme pour les choix limités lors de la compilation en C.
JetBrains a également introduit la prise en charge de typeof, une extension GNU du langage C qui permet de spécifier le type d'une expression.
ReSharper C++ 2021.3 vient encore avec bien d'autres nouveautés et améliorations que vous pouvez consulter dans les notes de publications. Par exemple, les éléments supplémentaires en rapport avec GitHub de la fenêtre contextuelle Copy Code Reference facilitent le partage de liens avec d'autres personnes et vous pouvez également ajouter un modèle d'URI pour les référentiels autres que GitHub.
Nouveautés et téléchargement de ReSharper C++ 2021.3
JetBrains annonce la disponibilité de la version 2021.3 de ReSharper C++
Son extension Visual Studio pour les développeurs C++
JetBrains annonce la disponibilité de la version 2021.3 de ReSharper C++
Son extension Visual Studio pour les développeurs C++
Le , par Michael Guilloux
Une erreur dans cette actualité ? Signalez-nous-la !