183

How to remove empty lines in Visual Studio?

Alaa Alweish
  • 8,904
  • 16
  • 57
  • 84
  • [For Visual Studio Code](https://stackoverflow.com/a/50042582/6597375) – Deepu Reghunath Feb 19 '19 at 12:05
  • 3
    Is there an answer for this without using regular expression? Just by using a shortcut like CTRL-K-D which formats the document but forgets to remove double blank lines. – Jan Apr 05 '19 at 10:43
  • How can we do this automatically in vs code when we format document or as we type? similar to what code maid does on visual studio? – Kepol Jul 27 '22 at 07:34

13 Answers13

200

Since Visual Studio 2012 changed its regex syntax, the original answers by Ala translate into the following in VS 2012:

Remove single blank lines

Old:

^:b*$\n

New:

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

Visual Studio 2013 (thanks to BozoJoe and Joe Johnston):

^\s*$\n

Remove double blank lines

Old:

^:b*\n:b*\n

New:

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

Rolls right off your tongue.

Here is the conversion sheet from MSDN.

Oliver
  • 9,239
  • 9
  • 69
  • 100
Lennart
  • 9,657
  • 16
  • 68
  • 84
150

It's very useful especially if you want to arrange or compare codes, thanks to the people who answer this question, I've got the answer from here and would like to share it with Stackoverflow:

Visual Studio (Visual Studio Code) has the ability to delete empty lines in replace operation using regular expressions.

  • Click Ctrl-H (quick replace)

  • Tick "Use Regular Expressions"

  • In Find specify ^$\n

  • In Replace box delete everything.

  • Click "Replace All"

All empty lines will be deleted.

Regular expression for empty line consists of

Beginning of line ^

End of line $

Line break \n

Note that normally in Windows an end of line indicated by 2 characters - Carriage Return (CR, ASCII 13, \r) Line Feed (LF, ASCII 10, \n).

A regex to remove blank lines that are/aren't really blank (i.e. they do/don't have spaces): ^:b*$\n

To remove double lines: ^:b*\n:b*\n replace with: \n

*** for Visual Studio 2013 and above:***

^\s*$\n

and for double lines:

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

See the regular expression syntax updates for VS2012 and above in @lennart's answer below

Alaa Alweish
  • 8,904
  • 16
  • 57
  • 84
31

Using Visual Studio 2017 and above

in Current Document

use shortcut

  • Open Tools > Options or press Alt + T + O
  • Under Environment tab > Keyboard
  • Search for "DeleteBlank" and select Edit.DeleteBlankLines
  • Add a new shortcut for example Ctrl+D,Ctrl+E
  • Assign > OK

select all text and hit the shortcut

enter image description here

Anas Alweish
  • 2,818
  • 4
  • 30
  • 44
20

Tested in VS 2012 to allow for pure line feeds.

^\s*$\n 

hth

Joe Johnston
  • 2,794
  • 2
  • 31
  • 54
19

In Visual Studio 2013 (Version 12.0.20623.01) i removed empty lines with this regular expression ^\r\n In the screen you can see the matched lines indicated by the brown squares.

Visual Studio 2013 replace empty lines

surfmuggle
  • 5,527
  • 7
  • 48
  • 77
  • I also tried such way, but visual studio stuck frozen for some minutes and then replaced only 1 occurrence of several hundred I have! lol :-D – BertuPG Oct 28 '14 at 12:12
10

I'm using visual studio 2017, non of the above worked for me until I tried \n\r

Steps:

  1. Ctrl + H (opens find and replace)
  2. Select use regular expression (Alt + E)
  3. Enter \n\r into the "Find..." input
  4. Press replace
tony09uk
  • 2,841
  • 9
  • 45
  • 71
10

VS 2022 and 2019

  1. Open the replace box: Ctrl + H
  2. Turn on regular expressions: Alt + E
  3. Find: ^\s*$\n
  4. Replace: (leave empty)
  5. Replace All: Alt + A
  6. Turn off regular expression: Alt + E
  7. Hide the replace box: Esc
  8. Format the document: Ctrl + K and then Ctrl + D
Shadi Alnamrouti
  • 11,796
  • 4
  • 56
  • 54
9

To remove two or more adjacent empty rows with VS2012 use this:

^(?([^\r\n])\s)*\r?$\r?\n^(?([^\r\n])\s)*\r?$\r?\n
pbz
  • 8,865
  • 14
  • 56
  • 70
7

Install CodeMaid and hit Ctrl+M, Space to clean up the code. (It formats the code, like Format Document Ctrl+E, D, as well). You can clean up more files from Solution Explorer.

xmedeko
  • 7,336
  • 6
  • 55
  • 85
4

To remove double lines: ^:b*\n:b*\n replace with: \n

Source: http://geekswithblogs.net/mnf/archive/2008/03/04/remove-empty-lines-in--text-using-visual-studio.aspx

olegansoft
  • 41
  • 2
1

In VS 2012, the regex string to use to find and replace all blank lines is ^(?([^\r\n])\s)\r?\n

cmsmith81
  • 31
  • 1
0

in VS2019 I just used ^..$ since none of the other answer actually worked.

-2

Ctrl + K, Ctrl+D auto formats the current document and that removes unnecessary space in your code. It helps keep your code readable if that what you were looking for.

Keshan Nageswaran
  • 8,060
  • 3
  • 28
  • 45
  • i am referencing my issue , please look ,it looking ,this is something i was looking . https://stackoverflow.com/questions/44747909/visual-studio-update-model-from-data-base-issue/44772280?noredirect=1#comment76526844_44772280. – Vivek Shukla Jun 27 '17 at 06:53
  • 2
    This doesn't remove double/redeundant empty lines. – Jan Apr 05 '19 at 10:33