web-dev-qa-db-fra.com

Code Visual Studio - supprimer toutes les lignes vides - regex

J'ai passé un certain temps à essayer de comprendre comment supprimer toutes les lignes vides dans Visual Studio Code et je ne parviens pas à le faire fonctionner. Quelqu'un sait comment faire s'il vous plaît?

Si je recherche ^$ en le tapant dans le champ de recherche, VSC trouve les lignes vides (lignes totalement vides, cela signifie qu'aucun espace n'est vide), mais ne les supprime pas lorsque je clique sur Remplacer tout. Cela ne fait rien: ^$

Pour les lignes vides avec des espaces ^\s+$ La recherche fonctionne, mais elle ne les supprime pas. Cela les remplace par une ligne vide sans espaces:)) ^\s+$

Ce doit être que je fais quelque chose de mal. Je ne peux tout simplement pas comprendre ce que c'est. Quelqu'un sait? Merci.

80
jozefk

Pour ceux qui pourraient être intéressés - ce qui a fonctionné pour moi dans la version 1.3.1 (et fonctionne toujours dans la version 1.33.1) pour supprimer les lignes vides que j'ai utilisées ctrl+h (trouver et remplacer) alt+r (Utilisez une expression régulière)

Dans la boîte de recherche alors:

\n\n

Dans la boîte de remplacement:

\n

Cela devrait faire deux signes de fin de ligne consécutifs en un.

édité:

Si vous devez remplacer plusieurs lignes vides (plus de deux) à la fois, vous pouvez utiliser l'expression régulière suivante dans la zone de recherche:

\n+

Si vous devez également remplacer les lignes vides par des espaces, vous devez utiliser l'expression régulière suivante dans la zone de recherche:

\n+\s*\n

Le code VS utilise des expressions régulières javascript

140
suchoss

Ce qui fonctionne aussi, c'est ce motif regex:

^\s*$\n

Ensuite CTRL+Enter pour remplacer toutes les lignes.

Explication du motif ci-dessus:

-----------------------------------------------
|  ^ | beginning of string anchor             |
-----------------------------------------------
| \s | any whitespace character               |
-----------------------------------------------
| '*'| zero or more repetitions               |
-----------------------------------------------
|  $ | end of string anchor                   |
-----------------------------------------------
| \n | new line                               |
-----------------------------------------------
90
Dzumret

Code Visual Studio 1.13.0 Linux Lite:

  • Frappé CTRL+H
  • Sélectionnez "Utiliser une expression régulière"
  • Zone de recherche: ^ (\ s) * $\n (entrez plusieurs fins\n selon vos besoins)
  • Remplacer la boîte: vide
  • Cliquez sur remplacer tout

Les lignes vides sont parties!

38
Antonio Delgado

Voici mon regex, il capture toutes les nouvelles lignes supplémentaires et les lignes vides ne contenant que de l'espace, des tabulations, etc.

\n\s*\n

Et je remplace toutes les correspondances avec \n

Explication

\n       : New Line
\s*      : Zero or more consecutive white space characters or new lines
\n       : Another New Line

P.S: N'oubliez pas de choisir l'option regex dans la fenêtre de recherche !!

15
Shabin Muhammed

Essayez d’utiliser ^\s *\n dans la boîte de dialogue Remplacer de VS Code -

 see here

8
NEO

non, tu le fais bien.

J'ai le même comportement ici.

J'ai aussi essayé une autre expression rationnelle: (\r?\n){2,}, Mais il semble que cela ne fonctionne que pour des lignes simples.

peut-être qu'il y a une préférence pour changer le comportement par défaut des expressions rationnelles, ou peut-être que VS est simplement construit de cette manière (basé sur les lignes)

bien sûr, ce n'est pas un problème de copier-coller depuis un autre éditeur de texte.

5
kobi7

J'ai trouvé les solutions suivantes qui me conviennent le mieux dans Visual Studio:

Remplacez: ^\n$ Avec: <no value here>

Cela trouvera toutes les lignes vides et les effacera.

3
Alan

Je ne sais pas pour vous, mais mémoriser beaucoup de commandes pour moi est une perte de temps!

Utilisez l'extension "Blank Line Organizer", voici la description:

Cette extension vous aidera à organiser des lignes vides dans le code en supprimant plusieurs lignes vides. L'extension supprime les lignes vides uniquement des lignes sélectionnées, le cas échéant, sinon du fichier entier

Comment l'utiliser: vérifiez la description de l'extension, mais ça semble vraiment sympa!

blankLine.triggerOnSave boolean true    If set to true, the command will be triggered on save.

En d'autres termes, après l'enregistrement du fichier, il nettoie automatiquement!

2
Marcelo Agimóvel

Chez moi. kobi7 solution (\r?\n){2,} n'a fonctionné que pour moi, Je devais l'exécuter à nouveau avec une petite modification pour le faire fonctionner pour des lignes simples (juste changé 2 à 1)

^(\r?\n){1,}
1
Mamdouh

Code Maid Extension est tout ce dont vous avez besoin . Vous pouvez utiliser le raccourci Ctrl M + barre d'espace pour nettoyer votre fichier, il supprimera les lignes vides et formater votre code. Vous pouvez également configurer le format et la règle de nettoyage . Nous espérons que cela vous sera utile.

0
Nguyễn Top

Un ou plusieurs sauts de ligne (\ n) + et remplacer par\n

0