Hapus baris kosong dalam teks menggunakan Visual Studio

152

Bagaimana cara menghapus baris kosong di Visual Studio?

Alaa
sumber
Untuk Visual Studio Code
Deepu Reghunath
2
Apakah ada jawaban untuk ini tanpa menggunakan ekspresi reguler? Hanya dengan menggunakan jalan pintas seperti CTRL-KD yang memformat dokumen tetapi lupa untuk menghapus garis ganda kosong.
Jan

Jawaban:

174

Karena Visual Studio 2012 mengubah sintaks regexnya, jawaban asli oleh Ala diterjemahkan menjadi yang berikut di VS 2012:

Hapus satu baris kosong

Tua:

^:b*$\n

Baru:

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

Visual Studio 2013 (terima kasih kepada BozoJoe dan Joe Johnston):

^\s*$\n

Hapus garis kosong ganda

Tua:

^:b*\n:b*\n

Baru:

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

Gulung langsung dari lidah Anda.

Ini lembar konversi dari MSDN.

Lennart
sumber
13
vs2013: ^ \ s + $ \ n
BozoJoe
Jawaban BozoJoe, bagi saya, juga bekerja dengan baik di VS2012 (Pembaruan 4)
BertuPG
5
^ \ s + $ \ n diubah menjadi ^ \ s * $ \ n memungkinkan untuk (tidak ada konten) umpan baris murni.
Joe Johnston
4
Bagaimana saya bisa membuat ini otomatis, seperti bekerja dengan CTRL + K + D?
ErTR
Apakah ini dimaksudkan untuk bekerja untuk string atau untuk kode di editor?
Kyle Delaney
114

Ini sangat berguna terutama jika Anda ingin mengatur atau membandingkan kode, terima kasih untuk orang-orang yang menjawab pertanyaan ini, saya mendapat jawabannya dari sini dan ingin membagikannya dengan Stackoverflow:

Visual Studio memiliki kemampuan untuk menghapus baris kosong dalam operasi penggantian menggunakan ekspresi reguler.

  • Klik Ctrl- H(ganti cepat)

  • Centang "Gunakan Ekspresi Reguler"

  • Dalam Temukan tentukan ^$\n

  • Dalam Ganti kotak hapus semuanya.

  • Klik "Ganti Semua"

Semua baris kosong akan dihapus.

Ekspresi reguler untuk baris kosong terdiri dari

Awal baris ^

Ujung garis $

Jeda baris \n

Perhatikan bahwa pada Windows biasanya garis akhir ditandai dengan 2 karakter - Pengembalian Carriage (CR, ASCII 13, \r) Line Feed (LF, ASCII 10, \n).

Regex untuk menghapus garis kosong yang / tidak benar - benar kosong (yaitu mereka memiliki / tidak memiliki spasi): ^:b*$\n

Untuk menghapus garis ganda: ^:b*\n:b*\nganti dengan:\n

* untuk Visual Studio 2013 dan lebih tinggi: *

^\s*$\n

dan untuk garis ganda:

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

Lihat pembaruan sintaks ekspresi reguler untuk VS2012 dan di atas dalam jawaban @ lennart di bawah ini

Alaa
sumber
Bekerja seperti pesona dengan membersihkan file XML di Visual Studio 2015. Adakah yang tahu cara membuat jalan pintas untuk menjalankan ini?
Leszek P
1
untuk Visual Studio 2012 dan di atasnya, periksa jawabannya di bawah ini
Alaa
1
Apakah ada cara untuk ini bekerja dengan formatter otomatis?
Kyle Delaney
19

Dalam Visual Studio 2013 (Versi 12.0.20623.01) saya menghapus garis kosong dengan ekspresi reguler ini ^\r\nDi layar Anda dapat melihat garis yang cocok ditunjukkan oleh kotak coklat.

Visual Studio 2013 mengganti baris kosong

surfmuggle
sumber
Saya juga mencoba cara seperti itu, tetapi visual studio macet selama beberapa menit dan kemudian hanya menggantikan 1 kemunculan beberapa ratus yang saya miliki! lol :-D
BertuPG
17

Diuji dalam VS 2012 untuk memungkinkan umpan garis murni.

^\s*$\n 

hth

Joe Johnston
sumber
2
ini bekerja untuk saya di VS 2015, jawaban yang diterima sayangnya tidak
EdwardM
Bekerja di VS 2013 juga.
Joe Johnston
2
Bekerja dengan baik di VS 2017, jawaban yang diterima tidak.
Germstorm
Bekerja pada 2019 juga
Joe Johnston
17

Menggunakan Visual Studio 2017 ke atas

dalam Dokumen Saat Ini

gunakan jalan pintas

  • Buka Alat > Opsi atau tekan Alt+ T+O
  • Di bawah tab Environment > Keyboard
  • Cari " DeleteBlank " dan pilihEdit.DeleteBlankLines
  • Tambahkan pintasan baru misalnya Ctrl+ D, Ctrl+E
  • Tetapkan > OK

pilih semua teks dan tekan pintasan

masukkan deskripsi gambar di sini

Anas Alweish
sumber
Ini hanya menghapus baris kosong yang dipilih atau dari baris saat ini hingga baris non-kosong berikutnya. Ini bukan untuk keseluruhan dokumen atau proyek.
Jan
1
Coba pilih semua sebelum menjalankan perintah, maka itu akan berhasil.
Kris Morness
9

Untuk menghapus dua atau lebih baris kosong yang berdekatan dengan VS2012 gunakan ini:

^(?([^\r\n])\s)*\r?$\r?\n^(?([^\r\n])\s)*\r?$\r?\n
pbz
sumber
Saya sedang mencari solusi untuk mengganti dua baris kosong menjadi hanya satu. Ini bekerja untuk saya. Terima kasih!
Ricardo França
8

Saya menggunakan visual studio 2017, bukan yang di atas bekerja untuk saya sampai saya mencoba \n\r

Langkah:

  1. Ctrl + H (buka temukan dan ganti)
  2. Pilih gunakan ekspresi reguler (Alt + E)
  3. Masukkan \n\rinput "Temukan ..."
  4. Tekan ganti
tony09uk
sumber
2

Instal CodeMaid dan tekan Ctrl+M, Space' to clean up the code. (It formats the code, like Format DocumentCtrl + E, D`, juga). Anda dapat membersihkan lebih banyak file dari Solution Explorer.

xmedeko
sumber
1

Di VS 2012, string regex yang digunakan untuk menemukan dan mengganti semua baris kosong adalah ^ (? ([^ \ R \ n]) \ s) \ r? \ N

cmsmith81
sumber
0

Ctrl+ K, Ctrl+ Dotomatis memformat dokumen saat ini dan yang menghilangkan ruang yang tidak perlu dalam kode Anda. Ini membantu menjaga kode Anda dapat dibaca jika itu yang Anda cari.

Marcus Callender
sumber
saya mereferensikan masalah saya, tolong lihat, itu terlihat, ini adalah sesuatu yang saya cari. stackoverflow.com/questions/44747909/… .
Vivek Shukla
1
Ini tidak menghapus garis kosong ganda / redeundan.
Jan