Correctifs rapides

ReSharper propose plus de 1200 correctifs rapides qui vous aide à réparer instantanément la plupart des problèmes de code détectés en C#, VB.NET, XAML, ASP.NET, JavaScript, TypeScript et d'autres langages pris en charge. Pour appliquer un correctif rapide, appuyez simplement sur Alt+Entrée sur un problème de code mis en valeur, et choisissez le meilleur moyen de réparer le problème ou d'améliorer le code.

Correctifs rapides pour problèmes de code dans ReSharper

Appliquer des correctifs rapides

Les correctifs rapides sont souvent représentés par une ampoule rouge (pour les erreurs) ou jaune (pour les avertissements, suggestions et conseils) affichée à gauche de la ligne du code surligné quand vous mettez le caret dessus. Vous pouvez voir la liste des correctifs rapides disponibles pour une erreur donnée, soit en cliquant sur l'ampoule, soit en appuyant sur Alt+Entrée. Sélectionnez alors simplement le correctif rapide approprié depuis la liste, et le problème sera résolu de la manière la plus pratique.

Application des correctifs rapides de ReSharper sur une plus grande portée (fichier, projet ou solution)

Corriger dans le périmètre

Certains correctifs rapides (par ex. : Remove unused directives, Make field read-only, Remove redundant cast, etc.) peuvent automatiquement trouver et corriger les problèmes à plus grande échelle : dans le fichier en cours, dans le projet en cours ou dans toute la solution.

Vous pouvez reconnaître ces correctifs grâce à la petite flèche affichée à côté d'eux. Cliquez sur cette flèche ou appuyez sur la touche flèche droite du clavier pour choisir où appliquer le correctif.

Correctifs rapides de ReSharper pour symboles non résolus

Corriger des symboles non résolus

Pour les erreurs provoquées par des symboles non résolus, ReSharper fournit plusieurs correctifs rapides différents. Par exemple :

  • Si un symbole existe dans un espace de nom référencé quelque part dans la solution, ReSharper affiche une fenêtre contextuelle suggérant d'importer tous les espaces de nom manquants dans le fichier.
  • Un jeu de correctifs Create... vous aidera à générer rapidement les diverses déclarations du symbole à partir du contexte d'utilisation.
  • Une autre manière de corriger le problème est Find this type on nuget.org.... Cela fera apparaître le NuGet Browser, qui vous aidera à trouver et installer le pack NuGet manquant.
Correctifs rapides pour problèmes de code dans ReSharper

Correctifs rapides interactifs

Les correctifs rapides qui créent de nouveaux symboles dans votre code sont souvent rendus interactifs, comme, par exemple, quand ReSharper vous aide à corriger plusieurs énumérations de IEnumerable en forçant l'énumération en avance sur une variable Liste<>.

Quand ReSharper met en valeur avec un cadre rouge les champs de saisie obligatoires, vous pouvez accepter la valeur suggérée ou la modifier avant d'appuyer sur Tab ou Entrée pour aller à la position de saisie suivante, ou appuyer sur Maj+Tab pour aller à la position de saisie précédente. Dès que vous en avez fini avec le dernier champ de saisie, votre caret repasse en mode normal.

Correctifs rapides et actions contextuelles de ReSharper

Correctifs rapides contre actions contextuelles

ReSharper fournit également des actions contextuelles affichées dans le menu déroulant des correctifs rapides.

La différences entre les deux est simple : les correctifs rapides n'apparaissent que pour les problèmes de code mis en évidence visant à les corriger alors que les actions contextuelles représentent des mini-refactorisations toujours disponibles dans le menu déroulant Alt+Entrée.

Mettre en valeur d'un code correspondant à un schéma de recherche et le remplacer grâce à un schéma de remplacement

Vos correctifs rapides personnalisés

ReSharper inclut la fonctionnalité Structural Search and Replace pour trouver du code correspondant à un certain schéma et éventuellement le remplacer par du code correspondant à un autre schéma. Encore mieux : ReSharper peut surveiller continuellement les schémas de recherche de votre solution, mettre en évidence le code qui leur correspond et fournir des correctifs rapides pour remplacer le code en fonction de vos schémas de remplacement.

Correctifs rapides pour problèmes de code dans ReSharper

C# : utiliser une interpolation de chaîne Exemple

Pendant des années, utiliser String.Format et d'autres méthodes qui prennent en charge la mise en forme composite était le seul moyen d'intégrer des valeurs de variables C# dans des littéraux de chaîne. Depuis C# 6.0, vous pouvez le faire d'une manière bien plus lisible grâce aux interpolations de chaîne. Avec les correctifs rapides de ReSharper, remplacer une mise en forme composite par une interpolation de chaîne se fait en quelques touches.

Correctifs rapides pour problèmes de code dans ReSharper

C# : corriger un NullReferenceException possible Exemple

Quand ReSharper détecte un appel de méthode sur un objet qui pourrait être null, ce qui pourrait entraîner un System.NullReferenceException dans l'exécution, deux correctifs rapides sont suggérés. Un correctif traditionnel ajoute une routine de contrôle de valeur null avant l'appel. Cependant, un moyen plus succinct de gérer cet appel est d'utiliser l'opérateur conditionnel null .?, qui a été ajouté en C# 6.0 pour s'occuper de ce scénario.

Correctifs rapides pour problèmes de code dans ReSharper

C# : convertir un foreach en expression LINQ Exemple

Si vous aimez la syntaxe LINQ en C#, ReSharper vous aide à rechercher dans vos bases de code les boucles qui peuvent être converties en expressions LINQ. Vous pouvez alors utiliser un correctif rapide pour effectuer une conversion rapide et sécurisée.

Correctifs rapides pour problèmes de code dans ReSharper

C# : supprimer la création de tableau redondant Exemple

Si une méthode C# prend un nombre variable d'arguments avec le mot-clé params, un tableau sera généré par le compilateur pour les arguments, pour que vous n'ayez pas à le faire dans l'appel de méthode.

Ce qui est le plus intéressant, ici, c'est que ReSharper suggère un correctif rapide qui supprimer tous les codes redondants de la portée désirée, y compris les qualificateurs, arguments, casts, vérifications de condition, affectations utilisées, codes inaccessibles et autres.

Correctifs rapides pour problèmes de code dans ReSharper

C# : introduction de paramètres optionnels Exemple

Si l'unique but d'une fonction surchargée était d'appeler la fonction 'implementation' avec des valeurs par défaut pour certains arguments, ReSharper vous aide à supprimer cette surcharge et à utiliser les paramètres facultatifs de la fonction 'implementation'.

Correctifs rapides pour problèmes de code dans ReSharper

C# : utiliser un cast explicit dans une boucle foreach Exemple

De par sa conception, foreach permet un cast masqué dans un type dérivé. D'un côté, cela facilite l'utilisation. De l'autre, cela peut créer un System.InvalidCastException lors de l'exécution. Un correctif rapide suggéré par ReSharper vous aide à rendre le cast explicite. Ce n'est pas tout à fait sécurisé, mais au moins ce n'est plus caché.

Correctifs rapides pour problèmes de code dans ReSharper

VB.NET : spécification d'une comparaison de chaînes Exemple

De nombreux correctifs rapides fonctionnent dans plusieurs langages. Voici un exemple d'un correctif rapide disponible à la fois en C# et en VB.NET : pour rendre limpide comment deux chaînes sont comparées, ReSharper suggère de remplacer la comparaison de l'opérateur d'égalité par String.Equals(), qui s'occupera de la casse et assurera que la comparaison prenne en compte la culture.

Correctifs rapides pour problèmes de code dans ReSharper

TypeScript : ajout d'une protection de type Exemple

Les types d'union de TypeScript peuvent être délicats. Par exemple, utiliser un membre qui n'est pas commun à tous les types d'une valeur de type d'union entraîne une erreur de compilation. Dans ce cas, ReSharper suggère plusieurs correctifs rapides pour ajouter différentes protections de type pour lever l'ambiguïté de ce membre.

Correctifs rapides pour problèmes de code dans ReSharper

JSON : ajout d'une propriété obligatoire manquante Exemple

Dans les fichiers JSON, ReSharper utilise sa connaissance de toutes les propriétés obligatoires des schémas JSON liés pour suggérer des correctifs rapides pour les propriétés obligatoires manquantes.

Correctifs rapides pour problèmes de code dans ReSharper

CSS : suppression d'un composant alpha Exemple

Le CSS niveau 3 et inférieur n'autorise pas le canal alpha dans une notation de couleur hexadécimale. C'est pourquoi ReSharper vous suggère soit de remplacer la couleur hexadécimale par une couleur RGBA ou HSLA, soit de simplement supprimer la valeur du canal alpha.