<" 并替换为 ">\n<" 如何在 Visual Studio Code 中完成此操作?" /> <" 并替换为 ">\n<" 如何在 Visual Studio Code 中完成此操作?"> <" 并替换为 ">\n<" 如何在 Visual Studio Code 中完成此操作?" />
ChatGPT解决这个技术问题 Extra ChatGPT

Find and replace with a newline in Visual Studio Code

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?

@RobertMacLean this question was asked before the above tagged question
@RobertMacLean creating a duplicate cycle
Actually not a duplicate: The other question asks about carriage return, this one about newline, and no the answer does not work for carriage return for some reason.
Shift + Enter will do the job

H
Håkon Egset Harnes

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

https://code.visualstudio.com/assets/updates/1_38/multiple-line-support.gif

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

https://i.stack.imgur.com/aEmuy.png

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

https://i.stack.imgur.com/uR2Zc.png

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.


Nor in version 0.10.3. But there is an extension that can do this: marketplace.visualstudio.com/items/jmallien.ReplaceWithNewline
Note that while replacing with newline characters is supported, finding newline characters still does not work until github.com/Microsoft/vscode/issues/313 is fixed.
This doesn't work on the mac - it literally replaces \r or \n
Note that regex mode must be on. If not, it won't use a newline.
regex search for \\n and replace with \n works for me, using 1.25.0
R
ROOT

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

https://code.visualstudio.com/assets/updates/1_38/multiple-line-support.gif

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.

https://i.stack.imgur.com/qPRAI.png

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.

https://i.stack.imgur.com/CTuAE.gif


This gave me a little push into the right direction. I needed the empty line to replace HTML comments: <!--[\s\S\n]*?--> And I was missing the \n :)
I am loving this feature, works in the search and replace fields too!
Still doesn't work in the ctrl+shift+f search sidebar... -_-
M
Misha Akopov

In version 1.1.1:

Ctrl+H

Check the regular exp icon .*

Search: ><

Replace: >\n<


Thanks for mentioning that you have to press the regexp icon!
T
Todd

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.


Hi @Stiv great tip but this really should have been a comment since it does not answer the question.
Might not have looked in the comments... this was the answer I needed. Thanks @stiv!
C
Casper Dijkstra

Control F for search, or Control Shift F for global search

Replace >< by >\n< with Regular Expressions enabled

https://i.stack.imgur.com/Ry43k.png


M
Misha Akopov

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.


Ctrl+D is great! You may need to press Ctrl+F first and after a few Ctrl+Ds or skipping with Ctrl+K Ctrl+D, you may press Esc to place the cursor in all selections!
R
ROOT

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


M
Misha Akopov

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

Shorter version: CTRL+H ALT+R \n


e
ekkis

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


R
Rene

At least for me in VS Code Version 1.62.3 on Windows it is working with regex, as shown below:

Replace Menu CTRL+R Activate "Use Regular Expression (ALT + R)" ALT+R Use [\n] or \n to find all newlines Press "Replace All (CRTL+ALT+Enter)" with an empty field CTRL+ALT+ENTER

https://i.stack.imgur.com/Mrke0.png

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

https://i.stack.imgur.com/PefUu.png