120 votes

Comment supprimer automatiquement les espaces blancs de fin de ligne dans Visual Studio 2008 ?

Est-il possible de configurer Visual Studio 2008 pour supprimer automatiquement les caractères d'espacement à la fin de chaque ligne lors de l'enregistrement d'un fichier ? Il ne semble pas y avoir d'option intégrée, alors existe-t-il des extensions disponibles pour le faire ?

71voto

Greg Ogle Points 3964

Recherche/remplacement à l'aide d'expressions régulières

Dans la boîte de dialogue Rechercher et remplacer, développez Trouver des options , vérifier Utilisez choisissez Expressions régulières

Trouver quoi : " :Zs#$ "

Remplacer par : ""

cliquez sur Remplacer tout

Dans d'autres rédactions (a normal Expression régulière parser) " :Zs#$ " serait " \s*$ ".

65voto

arserbin3 Points 2850

Je suis surpris que cela n'ait pas encore été mentionné, mais CodeMaid est une extension très populaire de Visual Studio et fait cela automatiquement avec d'autres nettoyages utiles.

Configurez-le pour qu'il nettoie un fichier lors de la sauvegarde, ce qui est, je crois, la valeur par défaut.

30voto

Vous pouvez créer une macro qui s'exécute après une sauvegarde pour le faire à votre place.

Ajoutez ce qui suit dans le module EnvironmentEvents pour vos macros.

Private saved As Boolean = False
Private Sub DocumentEvents_DocumentSaved(ByVal document As EnvDTE.Document) _
                                         Handles DocumentEvents.DocumentSaved
    If Not saved Then
        Try
            DTE.Find.FindReplace(vsFindAction.vsFindActionReplaceAll, _
                                 "\t", _
                                 vsFindOptions.vsFindOptionsRegularExpression, _
                                 "  ", _
                                 vsFindTarget.vsFindTargetCurrentDocument, , , _
                                 vsFindResultsLocation.vsFindResultsNone)

            ' Remove all the trailing whitespaces.
            DTE.Find.FindReplace(vsFindAction.vsFindActionReplaceAll, _
                                 ":Zs+$", _
                                 vsFindOptions.vsFindOptionsRegularExpression, _
                                 String.Empty, _
                                 vsFindTarget.vsFindTargetCurrentDocument, , , _
                                 vsFindResultsLocation.vsFindResultsNone)

            saved = True
            document.Save()
        Catch ex As Exception
            MsgBox(ex.Message, MsgBoxStyle.OkOnly, "Trim White Space exception")
        End Try
    Else
        saved = False
    End If
End Sub

Je l'utilise depuis un certain temps maintenant sans aucun problème. Je n'ai pas créé la macro, mais je l'ai modifiée à partir de celle qui se trouve dans ace_guidelines.vsmacros, que l'on peut trouver en faisant une recherche rapide sur Google.

16voto

Vyrotek Points 2547

Avant d'enregistrer, vous pouvez utiliser le raccourci de formatage automatique. CTRL+K+D

9voto

iPixel Points 57

Vous pouvez le faire facilement grâce à ces trois actions :

  • Ctrl + A (sélectionner tout le texte)

  • Edition -> Avancé -> Supprimer les espaces blancs horizontaux

  • Edit -> Advanced -> Format Selection

Attendez quelques secondes et c'est fait.

C'est Ctrl + Z au cas où quelque chose tournerait mal.

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