Actions contextuelles

Les actions contextuelles de ReSharper vous font gagner beaucoup de temps quand vous devez apporter des modifications mineures à votre code. Changez les modificateurs d'accès, générez du code qui contrôle les valeurs null, convertissez foreach en for et inversement, le tout en appuyant seulement sur quelques touches. Plus de 450 actions contextuelles sont disponibles en C#, VB.NET, XAML, ASP.NET et autres langages pris en charge. Appuyez sur Alt+Entrée sur un élément de code que vous voulez modifier et sélectionnez l'action contextuelle à appliquer.

Actions contextuelles de ReSharper

Appliquer des actions contextuelles

Dès qu'une action contextuelle est disponible à la position actuelle du caret, ReSharper affiche l'icône de marteau ReSharper's context action indicator à gauche du caret. Si plusieurs fonctionnalités sont disponibles dans le contexte, ce qui peut être un mélange d'actions contextuelles et de correctifs rapides, l'icône de l'action ayant la plus haute priorité est affichée. Cliquez sur l'indicateur d'action ou appuyez sur Alt+Entrée pour voir toutes les actions disponibles.

Les actions contextuelles similaires (par exemple, les actions pour différents modificateurs d'accès) sont souvent regroupées ensemble. Dans ce cas, étendez le groupe en utilisant la flèche droite et choisissez l'action désirée.

Application des actions contextuelles à de plus grandes portées (fichier, projet ou solution)

Étendre la portée des actions contextuelles

Certaines actions contextuelles (Remove #regions, Specify enum member values, Add name to argument, etc.) peuvent être automatiquement appliquées à une echelle plus large grandes : à la méthode actuelle, à la classe, au fichier, au projet en cours ou à toute la solution. Vous pouvez cliquer sur une petite flèche à droite ou appuyer sur la touche flèche droite du clavier pour choisir où appliquer la transformation.

Correctifs rapides vs actions contextuelles

Actions contextuelles contre correctifs rapides

ReSharper apporte également des correctifs rapides qui peuvent être affichés dans la liste déroulante, avec les actions contextuelles. La différences entre les deux est simple : les correctifs rapides apparaissent seulement pour les problèmes de code mis en évidence et visent à les corriger, voire à améliorer votre code, alors que les actions contextuelles représentent des mini-refactorisations qui servent à modifier le code.

Il est important de noter que les correctifs rapides ont une priorité supérieure, donc si il y a des correctifs rapides à votre caret, vous devrez appuyer sur Alt+Entrée pour voir si il y a des actions contextuelles.

Introduction d'un contrôle de valeur null dans C# avec une action contextuelle

C# : contrôle de valeur null dans les paramètres Exemple

Avec ReSharper, vous n'avez pas besoin de saisir quoi que ce soit pour effectuer contrôle de valeur null dans un paramètre. Appuyez simplement sur Alt+Entrée et ReSharper générera pour une vous une routine intégrale de contrôle de valeur null.

Si vous utilisez les annotations de code JetBrains dans votre projet, le paramètre est marqué de l'attribut [NotNull], ce qui permet à ReSharper de vous avertir en cas d'appel de la méthode avec null pour ce paramètre.

Conversion LINQ en code avec une action contextuelle ReSharper

C# : convertir LINQ en code Exemple

Dans cet exemple, vous pouvez voir comment les actions contextuelles de ReSharper vous aident à rapidement convertir une demande LINQ en boucle foreach et en expression lambda.

Il s'agit de l'opposé du célèbre correctif rapide de ReSharper qui convertit des boucles en déclarations LINQ.

Conversion d'itérateurs en collection avec une action contextuelle ReSharper

C# : convertir des itérateurs en collection Exemple

Certaines actions contextuelles fonctionnent plus comme des refactorisations : elles automatisent des transformations de code complexes tout en préservant la logique.

Dans cet exemple, ReSharper vous aide à transformer un itérateur avec déclarations yield return en code qui crée, remplit et renvoie une collection.

Partage de déclaration et d'affectation avec une action contextuelle de ReSharper

C# : partager une déclaration et une affectation Exemple

Si vous avez besoin d'ajouter une condition à l'initialisation d'une variable locale existante, cette action contextuelle vous aide à rapidement détacher l'initialisation. Même si la variable est typée implicitement, ReSharper calcule automatiquement le bon type et l'utilise dans la déclaration.

Inversion d'une expression 'if' avec une action contextuelle de ReSharper

C# : inverser une déclaration 'if' Exemple

Grâce à cette action contextuelle, vous pouvez rapidement échanger les branches d'une déclaration if. ReSharper s'assure que la condition, même si complexe, est correctement annulée pour que la logique reste inchangée.

Conversion d'une méthode anonyme en expression lambda, et inversement, avec une action contextuelle ReSharper

C# : méthode anonyme en lambda et inversement Exemple

Peu importe la syntaxe utilisée pour une délégation (méthode anonyme ou expression lambda), les actions contextuelles de ReSharper vous permettent de la changer en appuyant sur quelques touches, sans réécrire le code à la main.

Création d'une surcharge dans VB.NET avec une action contextuelle

VB.NET : créer une surcharge sans paramètre Exemple

Cette action contextuelle vous permet de créer une surcharge de méthode qui utilise la valeur par défaut du paramètre sélectionné, et ce, encore une fois, sans rien écrire.

Cette action est également disponible en C# et TypeScript.

Actions contextuelles de ReSharper dans du code de type XML

Actions contextuelles dans du code de type XML Exemple

In XML-like languages, ReSharper's context actions help you streamline routine editing procedures of expanding/collapsing empty tags, and converting attributes to tags and back. Ces actions sont disponibles en XML, XAML, ASP.NET, scripts de build, HTML et fichiers Resx.

Paramètres des actions contextuelles

Configuration des actions contextuelles

If you don't want ReSharper to show a particular context action in the context menu, you can disable it in the ReSharper Options dialog.