Supposons que je souhaite remplacer toutes les virgules par des virgules et une nouvelle ligne à l'aide de la fonction de remplacement d'Intellij IDEA. Qu'est-ce que je mets dans le champ de recherche? Dans vim je voudrais utiliser &\r
Vous devez cocher la case Regex et utiliser "\ n" pour le caractère de nouvelle ligne:
Utilisez le bouton Multiline, aucun regex n’est nécessaire.
edit: le bouton multiligne est manquant depuis IntelliJ 15, mais vous pouvez l'activer en cliquant dans le champ de texte et en appuyant sur Alt+Enter
ou Ctrl+Shift+Enter
Frappé CTRL+F
et cochez la case regex
. Ensuite, recherchez ,
et le remplacer par ,\n
.
Le moyen le plus simple que j'ai fait consiste à utiliser la forme d'expression régulière de replace.
Il y a des chances pour que vous ne vouliez pas remplacer le {
, mais restez dans mon échappatoire si vous voulez le faire.
Pour Intellij Ultimate 2017.3 sur Mac, command-shift-enter
travaux
Pour ceux qui recherchent l’ancien multiligne, remplacez in inteliJ par la version> 15.x. Cela semble un peu caché, mais si vous sélectionnez plusieurs lignes> cliquez sur CTRL+F
, puis cliquez immédiatement sur CTRL+R
vous êtes présenté avec le remplacement multiligne original.
Cela fonctionne sur Mac IntelliJ 2016.1.3
avec + F> + R
Sur intellij Ultimate 2017.1:
Je n'avais pas besoin de regex. Mais je pourrais faire apparaître le remplacement multiligne.
Une approche propre consisterait à ajouter (?m)
devant l'expression régulière, qui active le mode multiligne. Cela présente l'avantage que vous pouvez également l'utiliser dans la recherche de fichier globale (Ctrl-Maj-F).
Exemple: (?m)\{(.|\n)*?\}
recherche des blocs multilignes entourés d'accolades.
Ctrl + Shift + R tant que le texte remplacé est sélectionné :
Cela fonctionne pour Remplacer dans le chemin (WebStorm 2018.2.3):
voir ici
Le est lié mais pas exactement ce que vous avez demandé. Mais j'en avais besoin et je peux en imaginer d'autres. Donc, j'ai eu le problème dans Node.js où je voulais diviser un rejet en appel dans un journal et rejeter pour plus de clarté
reject(error)
dans
appLogger.log(error, 'error') reject(error)
En mode normal, j'ai trouvé et remplacé
Trouver:
reject(error)
Remplacez:
appLogger.log(error, 'error')\n reject(error)
Puis, en mode regex, j’ai fait une seconde recherche et remplacé:
Trouver:
\\n
Remplacer
\n