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 ?
Réponses
Trop de publicités?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*$
".
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.
- Télécharger : http://visualstudiogallery.msdn.microsoft.com/76293c4d-8c16-4f4a-aee6-21f83a571496/
- Documentation : http://www.codemaid.net/documentation/#cleaning
Configurez-le pour qu'il nettoie un fichier lors de la sauvegarde, ce qui est, je crois, la valeur par défaut.
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.
- Réponses précédentes
- Plus de réponses