754

I am trying out the new Microsoft Visual Studio Code editor in Linux Fedora environment. I would like to know how to replace new line (\n) in place of some other text.

For example, I have html text like this

<tag><tag> 

which I would like to replace as

<tag>
<tag>

In sublime I would use regex pattern and find "><" and replace with ">\n<" How do I accomplish this in Visual Studio Code?

Alan McBee
  • 4,202
  • 3
  • 33
  • 38
Sriram
  • 8,574
  • 4
  • 21
  • 30

11 Answers11

1300

In the local searchbox (ctrl + f) you can insert newlines by pressing ctrl + enter.

Image of multiline search in local search

If you use the global search (ctrl + shift + f) you can insert newlines by pressing shift + enter.

Image of multiline search in global search

If you want to search for multilines by the character literal, remember to check the rightmost regex icon.

Image of regex mode in search replace


In previous versions of Visual Studio code this was difficult or impossible. Older versions require you to use the regex mode, older versions yet did not support newline search whatsoever.

Håkon Egset Harnes
  • 13,237
  • 1
  • 12
  • 11
251

With VS Code release 1.38 you can press CTRL + Enter in the editor find box to add a newline character.

enter image description here

With VS Code release 1.30 you can type Shift + Enter in the search box to add a newline character without needing to use regex mode.

enter image description here

Since VS Code release 1.3, the regex find has supported newline characters. To use this feature set the find window to regex mode and use \n as the newline character.

Multiline find in VS Code gif

ROOT
  • 11,363
  • 5
  • 30
  • 45
Chic
  • 9,836
  • 4
  • 33
  • 62
83

In version 1.1.1:

  • Ctrl+H
  • Check the regular exp icon .*
  • Search: ><
  • Replace: >\n<
Misha Akopov
  • 12,241
  • 27
  • 68
  • 82
Eric Bole-Feysot
  • 13,949
  • 7
  • 47
  • 53
47

Also note, after hitting the regex icon, to actually replace \n text with a newline, I had to use \\n as search and \n as replace.

Todd
  • 652
  • 2
  • 19
  • 37
Stiv Ostenberg
  • 607
  • 5
  • 9
30
  • Control F for search, or Control Shift F for global search
  • Replace >< by >\n< with Regular Expressions enabled

enter image description here

Casper Dijkstra
  • 1,615
  • 10
  • 37
19

A possible workaround would be to use the multi-cursor. select the >< part of your example use Ctrl+Shift+L or select all occurrences. Then use the arrow keys to move all the cursors between the tags and press enter to insert a newline everywhere.

This won't work in all situations.

You can also use Ctrl+D for select next match, which adds the next match to the selection and adds a cursor. And use Ctrl+K Ctrl+D to skip a selection.

Misha Akopov
  • 12,241
  • 27
  • 68
  • 82
  • `Ctrl+D` is great! You may need to press `Ctrl+F` first and after a few `Ctrl+D`s or skipping with `Ctrl+K Ctrl+D`, you may press `Esc` to place the cursor in all selections! – CPHPython Aug 29 '19 at 10:57
7

On my mac version of VS Code, I select the section, then the shortcut is Ctrl+j to remove line breaks.

ROOT
  • 11,363
  • 5
  • 30
  • 45
tripleonard
  • 1,078
  • 8
  • 4
7

At least for me in VS Code Version 1.62.3 on Windows and VS Code Version 1.75 on MacOS (Ventura) it is working with regex, as shown below:

  1. Replace Menu

    Windows: CTRL+R

    Mac: command+option+F

  2. Activate "Use Regular Expression (ALT + R)"

    Windows: ALT+R

    Mac: command+option+R

  3. Use <> in the Search field and >\n< in the Replace field

  4. Press "Replace All (CRTL+ALT+Enter)" with an empty field

    Windows: CTRL+ALT+ENTER

    Mac: command+option+R

In case of the initial question, it would look like this:

enter image description here


Hint: Use [\n] or \n to find all newlines

enter image description here

In addition, to find newlines at the beginning of a line, you can also use ^[\n] or ^\n:

enter image description here

Rene
  • 976
  • 1
  • 13
  • 25
6

CTRL + H, then select regex (*) and write \n

Shorter version: CTRL+H ALT+R \n

Misha Akopov
  • 12,241
  • 27
  • 68
  • 82
TomoMiha
  • 1,218
  • 1
  • 14
  • 12
1

with v1.31.1 in RegEx mode the Replace All functionality is broken. clicking that button replaces only one instance

ekkis
  • 9,804
  • 13
  • 55
  • 105
-2

In case if you want to remove extra new lines from code then use this in vs code find a section

for opening the find box use ctrl + f in vs code

then find all new lines from code type this in the find box

^\n 

also only choosing Use regular expression option means the last option of the find box. After selecting this you will see all new lines on the code highlighted. then on replace box leave it as it is and click replace all option.

Same as if you want to add a new line where ever you found space then on find, box provide one space than on replace box add

^\n and click return all 
heySushil
  • 493
  • 7
  • 13