Supprimer les lignes vides dans le texte à l'aide de Visual Studio

152

Comment supprimer les lignes vides dans Visual Studio?

Alaa
la source
Pour Visual Studio Code
Deepu Reghunath
2
Y a-t-il une réponse à cela sans utiliser l'expression régulière? Simplement en utilisant un raccourci comme CTRL-KD qui formate le document mais oublie de supprimer les doubles lignes vides.
janvier

Réponses:

174

Depuis Visual Studio 2012 a changé sa syntaxe d'expression régulière, les réponses originales d'Ala se traduisent par ce qui suit dans VS 2012:

Supprimer les lignes vides uniques

Vieux:

^:b*$\n

Nouveau:

^(?([^\r\n])\s)*\r?$\r?\n

Visual Studio 2013 (merci à BozoJoe et Joe Johnston):

^\s*$\n

Supprimer les doubles lignes vides

Vieux:

^:b*\n:b*\n

Nouveau:

^(?([^\r\n])\s)*\r?\n(?([^\r\n])\s)*\r?\n

Roule juste de ta langue.

Voici la feuille de conversion de MSDN.

Lennart
la source
13
vs2013: ^ \ s + $ \ n
BozoJoe
La réponse de BozoJoe, pour moi, a bien fonctionné dans VS2012 également (mise à jour 4)
BertuPG
5
^ \ s + $ \ n changé en ^ \ s * $ \ n autorise (sans contenu) des sauts de ligne purs.
Joe Johnston
4
Comment puis-je rendre cela automatisé, comme travailler avec CTRL + K + D?
ErTR
Est-ce que cela fonctionne pour les chaînes ou pour le code dans l'éditeur?
Kyle Delaney
114

C'est très utile surtout si vous souhaitez organiser ou comparer des codes, merci pour les personnes qui répondent à cette question, j'ai la réponse d' ici et j'aimerais la partager avec Stackoverflow:

Visual Studio a la capacité de supprimer des lignes vides lors de l'opération de remplacement à l'aide d'expressions régulières.

  • Cliquez Ctrl- H(remplacement rapide)

  • Cochez "Utiliser des expressions régulières"

  • Dans Rechercher, spécifiez ^$\n

  • Dans la case Remplacer, supprimez tout.

  • Cliquez sur "Tout remplacer"

Toutes les lignes vides seront supprimées.

L'expression régulière pour une ligne vide se compose de

Début de ligne ^

Fin de ligne $

Saut de ligne \n

Notez que normalement sous Windows une fin de ligne indiquée par 2 caractères - Retour chariot (CR, ASCII 13, \r) Saut de ligne (LF, ASCII 10, \n).

Une regex pour supprimer les lignes vides qui sont / ne sont pas vraiment vides (c'est-à-dire qu'elles ont / n'ont pas d'espaces): ^:b*$\n

Pour supprimer les doubles lignes: ^:b*\n:b*\nremplacez par:\n

* pour Visual Studio 2013 et supérieur: *

^\s*$\n

et pour les lignes doubles:

^(?([^\r\n])\s)*\r?\n(?([^\r\n])\s)*\r?\n

Voir les mises à jour de la syntaxe des expressions régulières pour VS2012 et plus dans la réponse de @ lennart ci-dessous

Alaa
la source
Fonctionne comme un charme avec le nettoyage du fichier XML dans Visual Studio 2015. Quelqu'un sait comment créer un raccourci pour l'exécuter?
Leszek P
1
pour Visual Studio 2012 et au-dessus, vérifiez la réponse ci
Alaa
1
Y a-t-il un moyen pour que cela fonctionne avec le formateur automatique?
Kyle Delaney
19

Dans Visual Studio 2013 (version 12.0.20623.01), j'ai supprimé les lignes vides avec cette expression régulière ^\r\nDans l'écran, vous pouvez voir les lignes correspondantes indiquées par les carrés bruns.

Visual Studio 2013 remplace les lignes vides

surfmuggle
la source
J'ai aussi essayé une telle manière, mais le studio visuel est resté figé pendant quelques minutes, puis n'a remplacé qu'une seule occurrence de plusieurs centaines que j'ai! lol :-D
BertuPG
17

Testé dans VS 2012 pour permettre des sauts de ligne purs.

^\s*$\n 

hth

Joe Johnston
la source
2
cela fonctionne pour moi dans VS 2015, la réponse acceptée n'a malheureusement pas
EdwardM
Fonctionne également dans VS 2013.
Joe Johnston
2
Fonctionne bien dans VS 2017, la réponse acceptée ne fonctionne pas.
Germstorm
Fonctionne aussi en 2019
Joe Johnston
17

Utilisation de Visual Studio 2017 et supérieur

dans le document actuel

utiliser un raccourci

  • Ouvrez Outils > Options ou appuyez sur Alt+ T+O
  • Sous l' onglet Environnement > Clavier
  • Recherchez « DeleteBlank » et sélectionnezEdit.DeleteBlankLines
  • Ajouter un nouveau raccourci par exemple Ctrl+ D, Ctrl+E
  • Attribuer > OK

sélectionnez tout le texte et appuyez sur le raccourci

entrez la description de l'image ici

Anas Alweish
la source
Cela ne supprime que la ou les lignes vierges sélectionnées ou de la ligne actuelle jusqu'à la prochaine ligne non vierge. Ce n'est pas pour l'ensemble du document ou du projet.
janvier
1
Essayez de sélectionner tout avant d'exécuter la commande, cela fonctionnera.
Kris Morness
9

Pour supprimer deux ou plusieurs lignes vides adjacentes avec VS2012, utilisez ceci:

^(?([^\r\n])\s)*\r?$\r?\n^(?([^\r\n])\s)*\r?$\r?\n
pbz
la source
Je cherchais une solution pour remplacer deux lignes vides en une seule. Ça marche pour moi. Merci!
Ricardo França
8

J'utilise Visual Studio 2017, aucune des solutions ci-dessus n'a fonctionné pour moi jusqu'à ce que j'essaye \n\r

Pas:

  1. Ctrl + H (ouvre rechercher et remplacer)
  2. Sélectionnez utiliser une expression régulière (Alt + E)
  3. Entrez \n\rdans l'entrée "Rechercher ..."
  4. Appuyez sur remplacer
tony09uk
la source
2

Installez CodeMaid et appuyez également sur Ctrl+M, Space' to clean up the code. (It formats the code, like Format DocumentCtrl + E, D`). Vous pouvez nettoyer plus de fichiers à partir de l'Explorateur de solutions.

xmedeko
la source
1

Dans VS 2012, la chaîne d'expression régulière à utiliser pour rechercher et remplacer toutes les lignes vides est ^ (? ([^ \ R \ n]) \ s) \ r? \ N

cmsmith81
la source
0

Ctrl+ K, Ctrl+ Dauto formate le document actuel et cela supprime l'espace inutile dans votre code. Cela aide à garder votre code lisible si c'est ce que vous recherchiez.

Marcus Callender
la source
Je fais référence à mon problème, s'il vous plaît regardez, il regarde, c'est quelque chose que je cherchais. stackoverflow.com/questions/44747909/… .
Vivek Shukla le
1
Cela ne supprime pas les lignes vides doubles / redondantes.
janvier