2010-03-18 8 views
0

J'ai hérité d'un projet où toutes les variables privées, et il y en a des milliers, sont séparées par une ligne vide. Par exemple,Mise en forme du code en masse dans Visual Studio

private pnlSecurityReport _pnlSecurityReport = null; 

    private pnlCalendar _pnlCalendar = null; 

    private CtlContacts _pnlContacts = null; 

    private pnlEmails _pnlEmails = null; 

    private CtlNotes _pnlNotes = null; 

    private pnlRoles _pnlRoles = null; 

    private pnlSecurity _pnlSecurity = null; 

    private pnlSignatures _pnlSignatures = null; 

Ceci est vraiment ennuyeux. Je voudrais supprimer les lignes vides. Au-delà de l'écriture de mon propre outil pour rechercher et supprimer la ligne supplémentaire, existe-t-il un moyen de le faire, peut-être, en utilisant RegEx-Fu dans la boîte de dialogue Rechercher et remplacer?

+0

Run StyleCop sur, il vous fera mettre un commentaire sur chaque champ (///) qui devrait le faire paraître un peu moins ennuyeux: P – kd7

Répondre

4

Essayez de remplacer \n\n avec \n, avec Use Regular Expressions vérifié.

+0

Ce fait l'affaire. THX. – AngryHacker

1

Si vous avez UltraEdit, vous pouvez Remplacer | Utilisez des expressions régulières:

Recherche:^p $
Remplacer: « » (c.-à-rien sans guillemets, citations utilisées pour illustration)

3

Non testé très bien, mais quelque chose comme cela pourrait fonctionner: ouvrir la boîte de dialogue Remplacer , cochez "Expressions régulières", entrez {^:b*:w+:b+:i:b+:i:b+=:b+.*;$\n}\n dans la zone de texte "Rechercher" et \1 dans la zone de texte "Remplacer par".

En bref; correspond à des lignes qui correspondent au modèle word identifier identifier = value; suivi d'une ligne vide, balise toutes les correspondances à l'exception du dernier saut de ligne, puis remplace la correspondance complète par l'expression balisée. Cela aura l'avantage de ne pas supprimer toutes les lignes vierges du fichier, mais uniquement celles qui suivent les déclarations de champs ou variables typiques associées à des affectations de valeurs.

rupture d'expression:

{ - Start of tagged expression 
^ - Match beginning of line 
:b* - Zero or more whitespace characters (such as space or tab) 
:w+ - One or more alphabetic characters 
:b+ - One or more whitespace characters 
:i - An identifier string 
:b+ - One or more whitespace characters 
:i - An identifier string 
:b+ - One or more whitespace characters 
= - an equal sign 
:b+ - One or more whitespace characters 
.+ - One or more characters of any kind 
; - a semicolon 
$ - end of the line 
\n - a newline 
} - end of tagged expression 
\n - a newline 
Questions connexes