46 votes

Comment puis-je configurer le nettoyage du code de ReSharper lors de l'enregistrement ?

J'aimerais configurer Visual Studio/ReSharper pour qu'il exécute le "nettoyage du code" chaque fois que j'enregistre un fichier.

Un bonus serait de configurer ceci uniquement pour les fichiers C#, car je trouve parfois que le nettoyage sur les fichiers ASP.NET ne fonctionne pas sans introduire des erreurs.

35voto

John Nolan Points 16633

Vous pourriez enregistrer une macro( Ctrl + E , Ctrl + C ,Run, Ctrl + S ). Ensuite, exécutez cela au lieu de sauvegarder. Ensuite, tout ce que vous avez à faire est d'assigner CTRL + S à votre macro.

Public Module RecordingModule
    Sub CLEAN_AND_SAVE()
    DTE.ExecuteCommand ("ReSharper.ReSharper_CleanupCode")
    DTE.ActiveDocument.Save
    End Sub
End Module

Cette méthode fera apparaître la boîte de dialogue de nettoyage du code où vous devrez sélectionner Exécuter.

Pour supprimer l'interaction avec l'utilisateur vous devrez sélectionner un profil à exécuter lorsque le nettoyage de code est invoqué. Vous pouvez configurer ceci en allant dans ReSharper | Options | Tools | Code Cleanup et en sélectionnant le profil dans le menu déroulant "Profile to use with silent clean-up". C'est également ici que vous pouvez créer un profil personnalisé pour spécifier les changements à apporter à votre code. Dans la version 4.5, cependant, il ne vous permet pas d'omettre les pages aspx. Le seul différentiateur est C# et VB.Net.

Lien utile : http://www.jetbrains.com/resharper/features/code_formatting.html

7 votes

Si vous voulez exécuter le nettoyage silencieusement alors vous devez ExecuteCommand("ReSharper_SilentCleanupCode") à la place et ont mis en place une option de nettoyage de code silencieux

7 votes

Pas pour VS2012, le support des macros est abandonné ( stackoverflow.com/a/12065139/23805 )

0 votes

Vous pourriez utiliser Visual Commander pour la macro.

18voto

Lech Osiński Points 31

C'est mon premier message (hourra !), alors excusez-moi si ce n'est pas parfait...

La question porte sur R#, mais vous avez également mentionné ( Visual Studio /ReSharper), alors peut-être que mon indication aidera quelqu'un. Dans l'extension de Visual Studio appelée "Productivity Power Tools", il existe deux options pour cela (dans Outils -> Options -> Productivity Power Tools -> PowerCommands : General) :

  1. Format code on save.
  2. Supprimer et trier les utilisations lors de la sauvegarde.

Je trouve le PPT agréable à avoir, même avec R# installé. Vous pouvez les obtenir à partir de Galerie Visual Studio (version 2012, mais il existe aussi des versions 2010 et 2013).

17voto

MSkuta Points 262

Mise à jour de Resharper 2020.2

Dans la version 2020.2+ de R#, il y a maintenant une option intégrée pour lancer le nettoyage lors de la sauvegarde :

  1. Sélectionnez Options de Resharper ( Alt + R , O )
  2. Modification du code > Nettoyage du code > Général

R# Code Cleanup Settings

17voto

Pedro Pombeiro Points 517

Je viens de publier un Extension Visual Studio qui automatise un script similaire, pour une configuration plus facile. Vous pouvez l'essayer à

http://blog.pedropombeiro.com/keeping-code-formatted-the-easy-way/

4 votes

Il pourrait être intéressant de l'implémenter comme un plugin ReSharper déployé avec le nouveau gestionnaire d'extension ReSharper.

0 votes

Je voulais juste vous remercier pour l'effort et le temps que vous avez passé à construire ce site :)

0 votes

J'ai eu quelques problèmes avec cela lorsque j'ai essayé d'annuler les modifications en attente dans plusieurs fichiers. TFS les a annulées, mais l'add-in s'est reformaté à nouveau, ce qui n'est pas ce que je voulais.

5voto

MackieChan Points 1711

J'ai créé une extension pour invoquer automatiquement ReSharper Silent Cleanup lors de l'enregistrement d'un fichier : https://visualstudiogallery.msdn.microsoft.com/43be6ead-dabf-4bb1-b019-1e361efd8410

Il ne prend en charge que le nettoyage silencieux de ReSharper, mais il fonctionne.

2018 Remarque : cela a cessé de fonctionner dans les versions ultérieures de ReSharper en raison de modifications de l'api de ReSharper.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X