ReSharper C++ vs. Visual Assist

Ce document décrit en quoi ReSharper C++ diffère de Visual Assist par Whole Tomato.

Les deux produits sont activement développés et leurs fonctionnalités changent régulièrement. Nous considérons donc que cette comparaison est valable pour les versions spécifiques indiquées dans l'en-tête du tableau comparatif.

Si vous découvrez des éléments inexacts dans ce tableau, veuillez laisser un commentaire ci-dessous pour nous le faire savoir et nous mettrons le tableau à jour dès que possible.

dans Visual Studio 2019 + Visual Assist Build 2024.8 (2537)

dans Visual Studio 2022 + ReSharper C++ 2024.3

Versions de Visual Studio prises en charge
Visual Studio 2022
Visual Studio 2022
Visual Studio 2019
Visual Studio 2019
Visual Studio 2017
Visual Studio 2017
Visual Studio 2015
Visual Studio 2015
Visual Studio 2013
Visual Studio 2013
Visual Studio 2012
Visual Studio 2012
Visual Studio 2010
Visual Studio 2010
Visual Studio 2008
Visual Studio 2005
Spécifications C/C++ prises en charge
C/C++
C/C++
C++/CLI
Fichiers source CUDA
Détection de problèmes de code
Mise en évidence des symboles non résolus
Supprimer les inspections de code avec des commentaires
Supprimer les inspections de code avec des commentaires
Marqueur dans la gouttière pour les appels récursifs
Correctifs rapides pour problèmes de code
Assistance au codage
Mise en évidence des éléments correspondants (y compris les macros et les arguments de format dans printf et boost::format)
Mise en évidence des éléments syntaxiques (20 types d'identification différents)
Étendre automatiquement et créer des stubs de documentation dans des commentaires multi-lignes /**/ et /// sur pression de la touche Entrée
Générer un commentaire Doxygen lors de la saisie de ///
Mise en évidence automatique des sorties de fonction
Assistance au style de code
Mise en forme après collage (les règles de mise en forme sont héritées de Visual Studio)
Appliquer les règles de mise en forme dans n'importe quelle portée (avec le jeu complet de règles de mise en forme propre à ReSharper C++)
Appliquer des styles de code et supprimer les redondances de code dans n'importe quelle portée avec le nettoyage de code
Style configurable pour les modificateurs const et volatile dans le code généré
Style configurable pour les directives include dans le code généré
Style configurable pour les initialiseurs de pointeur par défaut (0|nullptr|NULL) dans le code généré
Refactorisations et transformations de code
Champ encapsulé (avec action Generate getters and setters)
Ajouter/supprimer des crochets
Annuler l'expression logique
Déplacer les définitions de fonction
Déplacer la classe
Convertir l'instance en pointeur et vice versa
Simplifier la déclaration de l'instance
Trier les méthodes dans la source
Promouvoir les Lambda en méthodes
Ajouter un spécificateur = default, = delete, pure ou virtual à une fonction
Organiser les qualificateurs cv
Extension automatique sur plusieurs lignes des commentaires /**/ et /// en appuyant sur Entrée
Convertir une directive #include entre crochets en citation et inversement
Convertir un appel en canal et inversement
Convertir une clause en contrainte de paramètre
Convertir une déclaration typedef en déclaration d'alias et vice versa
Convertir en définition d'espace de nom incorporée
Convertir le type de retour régulier en type de retour de fin et vice versa
Créer un type dérivé : class, interface, struct, interface class, interface struct, ref class, ref struct
Inverser l'opérateur relationnel
Inverser les arguments d'opérateur
Initialiser le champ à partir du paramètre de constructeur
Inverser l'instruction if, inverser la condition ?:
Remplacer 'auto' par une déclaration de type explicite
Remplacer 'decltype' par le type sous-jacent
Remplacer 'decltype(auto)' par une déclaration de type explicite
Diviser ou joindre une déclaration avec plusieurs déclarations
Remplacer l'appel de macro
Remplacer l'alias de type de modèle
Spécifier explicitement les arguments du modèle
Substituer typedef (et, optionnellement, tous les typedefs imbriqués)
Remplacer UNREFERENCED_PARAMETER par [[maybe_unused]]
Convertir une chaîne en chaîne brute C++11 et inversement
Déplacer la contrainte de paramètre de modèle vers la clause requires
Génération de code
Créer un type dérivé
Extraits/modèles de code
Créer un fichier (doit être appelé deux fois pour l'en-tête et cpp)
Navigation et recherche
Aller à la déclaration (avec Goto)
Aller à l'implémentation (avec Goto)
Débogage
Désactiver temporairement tous les points de rupture activés
Lier temporairement tous les points de rupture au thread actuel
Unreal Engine
Exclure la source du moteur de la navigation
Exclure la source du moteur de l'indexation
Prise en charge des appels de procédure distants UE4
Test unitaire
Assistance aux tests unitaires pour les frameworks Google Test, Catch 2.5, Boost.Test et doctest
Gestion des paramètres
Autres améliorations
Interface graphique localisée en chinois, japonais et coréen