No Intellij IDEA, como substituo o texto por uma nova linha?


119

Digamos que eu queira substituir todas as vírgulas por vírgulas e uma nova linha usando a função de substituição do Intellij IDEA. O que coloco na caixa de pesquisa? No vim eu usaria & \ r

Respostas:


171

Você precisa marcar a caixa Regex e usar "\ n" para o novo caractere de linha:

insira a descrição da imagem aqui


E como você pode remover uma linha vazia usando o mesmo regex. :)
muasif80 de

96

Use o botão Multiline, nenhum Regex é necessário.

editar: o botão multilinha está ausente desde o IntelliJ 15, mas você pode ativá-lo clicando no campo de texto e pressionando Alt+EnterouCtrl+Shift+Enter


5
Estou usando 15 e parece que o recurso de várias linhas não existe mais. Por que eles removeriam um recurso tão útil?
Matthew Cornell

4
Isso ainda existe, selecione várias linhas, clique em CTRL+F, a seguir clique CTRL+R, parece ser um recurso oculto, mas ainda funciona nesse caso como nas versões anteriores
conectado00

6
É ainda mais fácil agora - uma seta de retorno de carro visível aparece dentro das caixas localizar ou substituir - clicar nela irá inserir uma nova linha.
Louis St-Amour

8

Clique CTRL+Fe marque a regexcaixa de seleção. Em seguida, pesquise ,e substitua por ,\n.


7

A maneira mais fácil de fazer isso é usar a forma de expressão regular de substituir.

insira a descrição da imagem aqui

Provavelmente, você não deseja substituir o {, mas apenas continue a escapar deles se quiser.


Ha-ha, parece que todo mundo sabe disso.
Andrey Chaschev

Sim, e parece que você é mais rápido com o Paint :). PS: Se você ainda não experimentou, sugiro fortemente o Darcula! É muito mais fácil para os meus olhos.
pickypg de

1
É o PicPick que estou usando. Tentei o Tema Idea Darcula, mas acho que estou acostumado demais com as cores padrão.
Andrey Chaschev

4

Para quem procura a multilinha antiga substitua no inteliJ pela versão> 15.x. Parece um pouco oculto, mas se você selecionar várias linhas> clicar CTRL+Fe clicar imediatamente, CTRL+Rvocê verá a substituição de multilinha original.

Isso está funcionando no Mac IntelliJ 2016.1.3com ⌘ + F> ⌘ + R

insira a descrição da imagem aqui


3
basta pressionar ALT + Enter, com o foco no campo de texto
Meo

Mesmo com esse truque, não é possível inserir várias linhas no campo de substituição.
Daniele Torino

Está funcionando bem para mim IntelliJ 2016.1.3no MAC, ⌘ + F> ⌘ + R
cabeado00

4

Para Intellij Ultimate 2017.3 no Mac, command-shift-enterfunciona


1
Esta resposta é legítima e funciona para pesquisa e substituição no IntelliJ IDEA, PHPStorm e WebStorm, onde o usuário deseja substituir uma instância de \npor uma nova linha real. Por favor, não faça votos negativos em respostas úteis.
Bartekus,

1

No intellij Ultimate 2017.1:

Eu não precisava de regex. Mas eu poderia fazer a substituição de multilinha aparecer.

  • Entrei \ n no campo que gostaria de substituir
  • Coloquei meu cursor no campo onde queria inserir o texto de substituição e cliquei em Ctrl-Shift + Enter. Aqui eu acabei de apertar voltar

insira a descrição da imagem aqui


0

Uma abordagem limpa seria adicionar (?m)na frente da expressão regular, que ativa o modo multilinhas. A vantagem é que você também pode usá-lo na pesquisa global de arquivos (Ctrl-Shift-F).

Exemplo: (?m)\{(.|\n)*?\}pesquisa blocos de várias linhas entre chaves.


0

O está relacionado, mas não exatamente o que você perguntou. Mas eu precisava disso e posso imaginar que outros também precisam. Então, tive o problema no Node.js em que queria dividir um rejeitado em uma chamada em um log e rejeitar para maior clareza

reject(error)

para dentro

appLogger.log(error, 'error') reject(error)

No modo normal, encontrei e substituí

Encontrar: reject(error)

Substituir: appLogger.log(error, 'error')\n reject(error)

Em seguida, no modo regex, fiz um segundo localizar e substituir:

Encontrar: \\n

Substituir \n


Se sua resposta for útil, mas não responder a esta pergunta, é melhor fazer uma nova pergunta e adicionar sua resposta lá. Sempre recebemos bem-vindos novas perguntas e respostas úteis, e é recomendável responder às suas próprias perguntas, se possível :)
Max Vollmer

0

Ctrl+ Shift+ R enquanto o texto substituído é selecionado :

Isso funciona para Replace in Path (WebStorm 2018.2.3):

insira a descrição da imagem aqui

veja aqui

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.