Visual Studio Code - tüm boş satırları sil - regex


133

Visual Studio Code'daki tüm boş satırları nasıl sileceğimi bulmaya çalışırken biraz zaman harcadım ve çalışamıyorum. Nasıl yapılacağını bilen var mı lütfen?

Ben ararsanız ^$boş satırlar (tamamen boş satırlar, hayır demektir beyaz boşluk) buluyor arama alanı VSC bunu yazarken ama Tümünü Değiştir vurduğunda bunları kaldırmaz. Hiçbir şey yapmaz: ^ $

Boşluklu boş satırlar için ^\s+$Arama çalışır, ancak bunları kaldırmaz. Yaptığı şey, onları boşluksuz bir boş satırla değiştirmektir :)) ^ \ S + $

Yanlış bir şey yapıyorum olmalı. Sadece ne olduğunu anlayamıyorum. Bilen var mı? Teşekkürler.


1
Bununla ilgili açtığınız konuya bir yorum ekledim ama başka hiç kimse için $aslında yeni satır karakteriyle eşleşmiyor, yeni satır karakterinden önce var olan sıfır genişlikli bir simgeyle eşleşiyor. Yeni bir satırı değiştirmek için kullanmanız gerekir, \nancak VS Code şu anda çok satırlı normal ifade eşleşmelerini ( # 313 ) desteklemiyor
Marie

Teşekkür ederim Marie. Görünüşe göre bir süre beklemeliyiz.
jozefk

4
Bunu ^ $ \ n normal ifade modunda bulun ve boşlukla değiştirin de iyi çalışacaktır. Mutlu Kodlama !!!
sajal rajabhoj

Yanıtlar:


195

İlgilenenler için - benim için 1.3.1 sürümünde işe yarayan (ve hala 1.33.1'de çalışıyor) boş satırları silmek için ctrl+ h(bul ve değiştir) alt+ r(Normal ifade kullan) kullandım

Bul kutusunda sonra:

\n\n

Değiştirme kutusunda:

\n

Bu, iki ardışık satır sonu işaretini bire dönüştürmelidir.

düzenlendi:

Aynı anda daha fazla boş satırı (ikiden fazla) değiştirmeniz gerekirse, bul kutusunda aşağıdaki normal ifadeyi kullanabilirsiniz:

\n+

Boş satırları da boşluklarla değiştirmeniz gerekirse, bul kutusunda aşağıdaki normal ifadeyi kullanmanız gerekir:

\n+\s*\n

VS kodu javascript normal ifadelerini kullanıyor


10
Bu satırlar boyunca kullandım^[\r\n]{3,}
RJ Cuthbertson

Şuan çalışıyor. Teşekkürler :) Arada birçok VSC sürümü var ama sorun değil. İyi çalıştı \ n \ n \ n ile değiştirin.
jozefk

Ayrıca aşağıdaki @Dzumret çözümüne bakın. Benim çözümümde sadece hiçbir şeyin olmadığı satırları siliyor. Çözümü, bazı boşluk karakterlerinin (boşluklar, sekmeler) olduğu satırları siler
2019

Bu yanıt tüm durumları kapsamaz, ya boş satırda boşluk varsa
dhaker

1
Harika! Birden fazla ardışık boş satırı kaldırmak için \ n + 'yı \ n ile değiştirdim. Beyaz boşlukları hesaba katmak için (^ \ s * \ n) + yerine hiçbir şey
koymayın

115

Şu normal ifade kalıbı da işe yarıyor:

^\s*$\n

Ardından CTRL+Entertüm satırları değiştirmek için.

Yukarıdaki modelin açıklaması:

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

Emin değilim ama sadece bu benim için çalıştı, diğer tüm cevaplarla karşılaştırın. İyi de açıkladı. Teşekkür ederim.
Sai

Çapaların \ndışını yerleştirmek benim için işe yaradı. VSCode daha sonra hiçbir şeyle değiştirilmesine izin verdi (boş, "değiştir" alanı).
Eric

46

Visual Studio Code 1.13.0 Linux Lite:

  • Hit CTRL+H
  • "Normal İfade Kullan" ı seçin
  • Bul kutusu: ^ (\ s) * $ \ n (ihtiyaç duyduğunuz kadar \ n sonu girin)
  • Kutuyu değiştirin: boş
  • Tümünü değiştir seçeneğine tıklayın

Boş hatlar gitti!


18

İşte benim normal ifadem, sadece boşluk, sekmeler vb. İçeren tüm ekstra yeni satırları ve boş satırları yakalar.

\n\s*\n

Ve tüm eşleşmeleri şununla değiştiriyorum \n

açıklama

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

Not: Arama penceresinde normal ifade seçeneğini seçmeyi unutmayın !!


13

VS Kodunun Değiştir iletişim kutusunda ^ \ s * \ n kullanmayı deneyin -

buraya bakın


6

hayır, doğru yapıyorsun.

Burada da aynı davranışı görüyorum.

Başka bir normal ifadeyi de denedim: (\r?\n){2,} ama öyle görünüyor ki sadece tek satırlar için çalışıyor.

belki varsayılan regexp davranışını değiştirme tercihi vardır veya belki de VS bu şekilde oluşturulmuştur (satır temelli)

Tabii ki başka bir metin düzenleyiciden kesip yapıştırmak ve geri dönmek çok da önemli değil.


3
bu sadece hepsini ^\s*$(\r?\n){2,}
Mihai Popescu

4

Seni bilmiyorum, ama benim için birçok emri ezberlemek zaman kaybı anlamına geliyor!

"Boş Satır Düzenleyici" uzantısını kullanın, işte açıklama:

Bu uzantı, birden çok boş satırı kaldırarak koddaki boş satırları düzenlemenize yardımcı olur. Uzantı, boş satırları yalnızca seçili satırlardan, yoksa tüm dosyadan kaldırır.

Nasıl kullanılır: uzantının açıklamasını kontrol edin, ancak gerçekten güzel görünüyor!

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

Başka bir deyişle, dosyayı kaydettikten sonra otomatik olarak temizler!


Merhaba @ Jun! Bir çok sorunu çözen, ayrıca daha hafif ve bazı güzel özelliklere sahip olan Sublime Text3 kullanıyorum.
Marcelo Agimóvel

Sublime Text3 ile hangi eklentiyi kullanıyorsunuz? Webstorm kullanıyordum ve yerleşiktir.
Jun711

Html / CSS / JS Prettify
Marcelo Agimóvel

3

Aşağıdakileri benim için en iyi Visual Studio'da buldum:

Değiştir: ^\n$ Şununla: <no value here>

Bu, tüm boş satırları bulacak ve onları temizleyecektir.


3

Benim durumumda. kobi7 çözümü (\r?\n){2,}sadece benim için çalıştı, tek hatlar için çalışmasını sağlamak için küçük bir değişiklikle tekrar çalıştırmak zorunda kaldım (sadece 2'den 1'e değiştirildi)

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

0

Tek ihtiyacınız olan Code Maid Extension. Dosyanızı temizlemek için Ctrl M + Boşluk çubuğu kısayolunu kullanabilirsiniz, boş satırları kaldırır ve kodunuzu biçimlendirir. Biçim ve temizleme kuralı hakkında da yapılandırabilirsiniz. Umarım bu yararlıdır.


Bulunamadı (Manjaro Linux'ta).
Marcelo Agimóvel

2
Bunun nedeni, bir Visual Studio uzantısı değil, bir Visual Studio Code uzantısı olmasıdır.
Rene Juuse


0

Beyaz boşluklu boş satırları temizlemek için benim versiyonum var:

find:    (?:\s*$(\r?\n)){2,}
replace: $1

-1

Değiştir: ^ \ n $ Şununla: "boşluk"


ve belgenizdeki her boş alanı kaldırır mısınız?
Angry 84

-4

Windows 10, Visual Studio 2015

Ctrl + H

Bul ... -> ^ \ s *

Hepsini değiştir

Ctrl + A

Ctrl + K + F

Sorunuz için teşekkür ederim, yeni bir şey öğrendim.


5
Visual Studio 2015, Visual Studio Code değildir.
Robert Kaucher
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.