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 ) | |
Coloration de la syntaxe améliorée (6 types d'identification différents) / Symboles stables en italiques / Symboles locaux en gras | 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 des mots correspondants (code et commentaires) | ||
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 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) | Modèles de fichier intégrés pour class et struct (crée le header et le ccp en même temps) + modèles de fichier personnalisés | |
Chaînes réservées /emplacements réservés d'environnement dans les extraits | ||
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 | ||
Prise en charge du framework de test Unreal Engine | ||
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 | ||