Spécifications C/C++ prises en charge | C/C++ | C/C++ |
| C++/CLI | C++/CLI |
| C++/CX | Non pris en charge |
| HLSL | HLSL |
Analyse de code et correction | Analyse de code à la volée pendant la phase de conception (erreurs du compilateur et avertissements) | Analyse de code à la volée pendant la phase de conception (erreurs et avertissements du compilateur et plus de 230 inspections du code propriétaire) |
Correctifs rapides pour résoudre les problèmes de code | Plus de 290 correctifs rapides pour résoudre les problèmes de code |
| Diagnostics et vérifications Clang-Tidy intégrés | Diagnostics et vérifications Clang-Tidy intégrés |
| | Diagnostics et vérifications UnrealHeaderTool intégrés |
| | Vérification orthographique |
| | Analyseur d'includes |
| | Rapports sur tous les problèmes liés aux erreurs et la qualité du code, quelle qu'en soit l'étendue et jusqu'à l'ensemble de la solution |
| | Inspections de code ajustables : 5 niveaux de sévérité peuvent être configurés à partir du menu Alt+Entrée |
| | Partage des paramètres d'analyse du code au niveau de la solution ou d'une équipe |
Refactorisations et transformations de code | Renommer | Renommer |
Changer la signature | Changer la signature |
| Extraire la fonction | Extraire la méthode |
| Implémentation de fonctions virtuelles pures | Générer des membres de substitution |
| Créer une déclaration ou une définition | Générer une définition/implémentation par déclaration |
| Déplacer la définition de la fonction | Déplacer l'implémentation en dehors de la portée de la classe |
| Convertir en litéraux de chaîne bruts | Convertir en litéraux de chaîne bruts et vice versa |
| | Convertir en énumération délimitée |
| | Introduire un champ |
| | Introduire un alias d'espace de nom |
| | Introduire typedef |
| | Utiliser using enum |
| | Introduire la variable |
| | Inline function |
| | Incorporer une variable |
| | Inline typedef |
| | Plus de 65 actions contextuelles (transformations automatisées du code local) |
Assistance au codage | Saisie automatique du code | Saisie semi-automatique du code avec suggestions intelligentes et correspondance CamelCase |
Mise en évidence des éléments de syntaxe | Mise en évidence des éléments de syntaxe (couleurs configurables pour plus de 25 types d'identificateurs) |
| Info-bulles pour les éléments de code | Infobulles pour les éléments de code avec syntaxe mise en évidence et commentaires de documentation formatés |
| Développer/réduire la sélection | Étendre/réduire la sélection |
| Sélection de commentaire (commentaire choisi automatiquement) | Sélection de commentaire par ligne ou bloc |
| Conseils rapides et informations sur les paramètres | Documentation rapide et informations sur les paramètres |
| | Conseils d'insertion pour les noms de paramètres, les noms de types, les espaces de noms, les conversions de types et les directives du préprocesseur : mode Push-to-Hint |
| | Réorganiser les éléments du code |
| | Ajout automatique de la directive #include manquante |
| | Saisie automatique des imports et complétion postfix |
| | Saisie automatique des instructions |
| | Sélectionner la déclaration de conteneur |
Navigation et recherche | Accéder à | Rechercher partout |
Atteindre la déclaration | La commande « Atteindre la déclaration » fonctionne aussi sur les identificateurs non résolus et les commentaires et aide à naviguer entre les utilisations et les directives correspondantes du préprocesseur |
| Voir la définition | Voir les déclarations, les utilisations, les symboles de base, les implémentations |
| Signets de code | Signets de code |
| Lancement rapide | Rechercher les actions et les paramètres |
| Rechercher les références | Rechercher les utilisations |
| Générer un diagramme des fichiers inclus | Vue de la hiérarchie Includes |
| Hiérarchie d'appels | Non prises en charge |
| Accéder à un symbole | Accéder à un symbole |
| Accéder au type | Accéder au type |
| Accéder à un fichier | Accéder à un fichier |
| Accéder au membre du fichier | Accéder au membre du fichier |
| | Go to text avec recherche approximative |
| | Accéder aux symboles de base |
| | Accéder aux symboles dérivés |
| | Accéder aux fichiers associés |
| | Aller au fichier proche |
| | Accéder aux emplacements et modifications récentes |
| | Accéder au modèle primaire/aux spécialisations |
| | Intervertir Header/Source |
| | Mettre en évidence les utilisations dans le fichier |
| | Naviguer de haut en vas dans la hiérarchie d'héritage dans l'éditeur |
| | Navigation entre les points d'arrêt par contexte |
| | Vue de la hiérarchie des types |
| | Structure du fichier |
| | Naviguer dans les éléments To-do |
| | Localiser
le fichier actuel dans l'explorateur de solutions |
Génération de code | Fragments de code (modèles) | Extraits de code (modèles), y compris les modèles live, surround et postfix |
Générez des fichiers à partir du modèle | Générez des fichiers à partir du modèle |
| Génération de code avec saisie semi-automatique | Génération de code avec saisie semi-automatique |
| | Éditeur visuel pour les extraits de code (modèles) |
| | Ajouter une déclaration anticipée ou insérer une directive #include avec complétion de l'importation |
| | Générer du code à partir de l'utilisation |
| | Générer des constructeurs |
| | Générer
des définitions |
| | Générer des instructions case manquantes |
| | Générer des commentaires sur la documentation |
| | Générer les membres manquants/de remplacement |
| | Générer des opérateurs copier et déplacer |
| | Générer des getters et setters |
| | Générer des opérateurs d'égalité |
| | Générer des opérateurs relationnels |
| | Générer des opérations de flux (y compris des fonctions Boost.Serialization ) |
| | Générer une fonction de hachage |
| | Générer une fonction de permutation |
| | Générer des méthodes Google Mock |
| | Générer une fonction qui convertit enum en chaîne (modifiable) |
| | Générer des membres manquants |
Style de code et nettoyage | Reformater le code | Appliquer les règles de mise en forme partout (avec l'ensemble de règles de mise en forme propre à ReSharper C++) |
Prise en charge d'Editor Config | Prise en charge d'Editor Config |
| | Prise en charge de Clang-Format |
| | Apprendre les règles de mise en forme à partir du code existant |
| | Éditeur visuel permettant de configurer les règles de mise en forme pour le code sélectionné |
| | Fenêtre d'information sur la mise en forme du fichier permettant d'examiner les valeurs des paramètres et les fichiers qui affectent le fichier actuel |
| | Style de dénomination personnalisable avec des schémas prédéfinis (STL, Google, LLVM, CamelCase, Microsoft) |
| | Règles personnalisables pour le tri des directives #include |
| | Style syntaxique personnalisable pour les initialisations, les déclarations, les fonctions de remplacement, l'utilisation de auto , l'emplacement des cv-qualifiers et les accolades |
Test unitaire | Explorateur de tests unitaires | Explorateur de tests unitaires |
Framework de test unitaire Microsoft pour la prise en charge de C++ | Non prises en charge |
| Prise en charge de Google Test | Prise en charge de Google Test |
| Prise en charge de Boot.Test | Prise en charge de Boot.Test |
| Prise en charge de CTest | Non prises en charge |
| | Prise en charge de Catch |
| | prise en charge Doctest |
| | Exécuter des tests depuis l'éditeur |
| | Sessions multiples de tests unitaires |
Débogage | DataTips dans l'éditeur | DataTips pouvant faire l'objet d'une recherche avec présentation configurable des objets dans l'éditeur |
Fenêtre d'outils pour les points d'arrêt | Fenêtre d'outils des points d'arrêt avec aperçu, recherche contextuelle, regroupement et exportation |
| | Surveillances inline |
| | Filtres d'étapes |
Prise en charge d'Unreal Engine | | Prise en charge des conventions de nommage d'Unreal Engine |
| Inspections UnrealHeaderTool intégrées |
| | Travailler avec des fichiers Shader HLSL |
| | Prise en charge des appels de procédure distants d'Unreal Engine |
| | Saisie automatique du code pour les spécificateurs de réflexion Unreal Engine |
| | Prise en charge du modèle de projet Unreal Engine permettant la saisie semi-automatique du code sur la base des références du plugin et du module |
| | Mises à jour en temps réel en fonction des modifications apportées aux fichiers .Build.cs, .Target.cs, .uproject ou .uplugin |
Gestion des paramètres | Synchronisation des paramètres via
Microsoft ID | Synchroniser les paramètres et les modèles personnalisés avec l'équipe via VCS ou tout autre service d'hébergement de fichiers |
| | Système de niveaux de paramètres permettant de stocker des paramètres différents pour des solutions différentes sans conflits |
| | |