Encontre e substitua por uma nova linha no Visual Studio Code


397

Estou testando o novo editor de código do Microsoft Visual Studio no ambiente Linux Fedora. Gostaria de saber como substituir a nova linha (\ n) no lugar de outro texto.

Por exemplo, tenho texto html como este

<tag><tag> 

que eu gostaria de substituir como

<tag>
<tag>

Em sublime, usaria o padrão regex e localizaria "> <" e substituí-lo por "> \ n <" Como faço isso no Código do Visual Studio?



@RobertMacLean, esta pergunta foi feita antes da pergunta marcada acima #
Sriram

11
@RobertMacLean criando um ciclo duplicado
Kishan Kumar


Na verdade, não é uma duplicata: a outra pergunta é sobre retorno de carro, essa sobre nova linha, e não, a resposta não funciona para retorno de carro por algum motivo.
Jason Young

Respostas:


581

Na caixa de pesquisa local ( ctrl+ f), você pode inserir novas linhas pressionando ctrl+ enter.

Imagem da pesquisa multilinha na pesquisa local

Se você usar a pesquisa global ( ctrl+ shift+ f), poderá inserir novas linhas pressionando shift+ enter.

Imagem da pesquisa multilinha na pesquisa global

Se você deseja pesquisar multilinhas pelo literal do caractere, lembre-se de verificar o ícone da expressão regular à direita .

Imagem do modo regex na substituição da pesquisa


Nas versões anteriores do código do Visual Studio, isso era difícil ou impossível. As versões mais antigas exigem que você use o modo regex; as versões mais antigas ainda não oferecem suporte à pesquisa de nova linha.


6
Nem na versão 0.10.3. Mas há uma extensão que pode fazer isso: marketplace.visualstudio.com/items/jmallien.ReplaceWithNewline
rmac

14
Note-se que, enquanto a substituição com caracteres de nova linha é suportado, encontrando caracteres de nova linha ainda não funcionar até github.com/Microsoft/vscode/issues/313 é fixo.
C # Snover

2
Isso não funciona no Mac - que literalmente substitui \ r ou \ n
Naveen Vijay

38
Observe que o modo regex deve estar ativado. Caso contrário, não usará uma nova linha.
Neves

12
regex procurar \\ne substituir com \nobras para mim, usando 1.25.0
Gregor

130

Com o VS Code versão 1.38, você pode pressionar CTRL+ Enterna caixa de localização do editor para adicionar um caractere de nova linha.

insira a descrição da imagem aqui

Com o VS Code versão 1.30, você pode digitar Shift+ Enterna caixa de pesquisa para adicionar um caractere de nova linha sem precisar usar o modo regex.

insira a descrição da imagem aqui

Desde o VS Code, versão 1.3 , a localização do regex suporta caracteres de nova linha. Para usar esse recurso, defina a janela de localização no modo de expressão regular e use \ncomo o caractere de nova linha.

Localização multilinha no VS Code gif


Isso me deu um pequeno empurrão na direção certa. Eu precisava da linha vazia para substituir os comentários HTML: <!--[\s\S\n]*?-->E estava faltando o \ n :) #
Guntram 13/10

Estou amando esse recurso, trabalha na busca e substitui os campos também!
SimplyInk

5
Ainda não trabalho no ctrl + shift + pesquisa barra lateral f ... -_-
Xunnamius

61

Na versão 1.1.1:

  • Ctrl+H
  • Verifique o ícone de exp regular .*
  • Procurar: ><
  • Substituir: >\n<

15
Obrigado por mencionar que você precisa pressionar o ícone regexp!
Paul Chernoch

24

Observe também que, depois de clicar no ícone regex, para substituir o \ntexto por uma nova linha, tive que usar \\ncomo pesquisa e \ncomo substituição.


11
Oi @Stiv ótima dica, mas isso realmente deveria ter sido um comentário, uma vez que não responde à pergunta.
23617 Chic

Pode não ter olhado nos comentários ... essa era a resposta que eu precisava. Obrigado @stiv!
Jack Ryan

16

Uma solução possível seria usar o cursor múltiplo. selecione a parte> <do seu exemplo, use Ctrl+ Shift+ Lou selecione todas as ocorrências. Em seguida, use as teclas de seta para mover todos os cursores entre as tags e pressione enter para inserir uma nova linha em todos os lugares.

Isso não funcionará em todas as situações.

Você também pode usar Ctrl+ Dpara selecionar a próxima correspondência, que adiciona a próxima correspondência à seleção e adiciona um cursor. E use Ctrl+ K Ctrl+ Dpara pular uma seleção.


Ctrl+Dé ótimo! Pode ser necessário pressionar Ctrl+Fprimeiro e depois de alguns Ctrl+Dsegundos ou pular com Ctrl+K Ctrl+D, você pode pressionar Escpara colocar o cursor em todas as seleções!
CPHPython

4

Na minha versão mac do VS Code, seleciono a seção e o atalho é Ctrl+ jpara remover quebras de linha.


1

com v1.31.1 no modo RegEx, a funcionalidade Substituir Tudo está quebrada. clicar nesse botão substitui apenas uma instância


1

CTRL+ H, selecione regex (*) e escreva \ n

Versão mais curta: CTRL+ H ALT+ R\ n

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.