Wie ersetze ich in Intellij IDEA Text durch eine neue Zeile?

119

Angenommen, ich wollte alle Kommas durch Kommas und eine neue Zeile mit der Ersetzungsfunktion von Intellij IDEA ersetzen. Was gebe ich in das Suchfeld ein? In vim würde ich & \ r verwenden

Björn
quelle

Antworten:

171

Sie müssen das Kontrollkästchen Regex aktivieren und "\ n" für das neue Zeilenzeichen verwenden:

Geben Sie hier die Bildbeschreibung ein

Andrey Chaschev
quelle
Und wie können Sie eine leere Zeile mit demselben regulären Ausdruck entfernen? :)
Muasif80
96

Verwenden Sie die Multiline-Taste. Es wird kein Regex benötigt.

Bearbeiten: Die mehrzeilige Schaltfläche fehlt seit IntelliJ 15, Sie können sie jedoch aktivieren, indem Sie in das Textfeld klicken und Alt+Enteroder drückenCtrl+Shift+Enter

Meo
quelle
5
Ich verwende 15 und es sieht so aus, als ob die mehrzeilige Funktion nicht mehr verfügbar ist. Warum sollten sie eine so nützliche Funktion entfernen?
Matthew Cornell
4
Dies ist immer noch vorhanden, wählen Sie mehrere Zeilen aus, klicken Sie dann CTRL+F, dann klicken Sie CTRL+R, es scheint eine versteckte Funktion zu sein, funktioniert aber in diesem Fall immer noch wie in früheren Versionen
wired00
6
Es ist jetzt noch einfacher - ein sichtbarer Pfeil für den Rücklaufwagen wird in den Such- oder Ersetzungsfeldern angezeigt. Wenn Sie darauf klicken, wird eine neue Zeile eingefügt.
Louis St-Amour
8

Aktivieren CTRL+Fund aktivieren Sie das regexKontrollkästchen. Dann suchen ,und ersetzen Sie es durch ,\n.

kmera
quelle
7

Der einfachste Weg, den ich gemacht habe, ist die Verwendung des regulären Ausdrucks des Ersetzens.

Geben Sie hier die Bildbeschreibung ein

Es besteht die Möglichkeit, dass Sie das nicht ersetzen möchten {, sondern nur in meiner Flucht bleiben, wenn Sie dies möchten.

pickypg
quelle
Ha-ha, sieht so aus, als ob jeder das weiß.
Andrey Chaschev
Es funktioniert und es scheint, als wären Sie mit Paint schneller :). PS: Wenn Sie es nicht ausprobiert haben, empfehle ich dringend die Darcula! Es ist so viel einfacher für meine Augen.
Pickypg
1
Es ist PicPick, das ich benutze. Ich habe Idea Darcula Theme ausprobiert, aber ich glaube, ich bin zu sehr an die Standardfarben gewöhnt.
Andrey Chaschev
4

Für diejenigen, die nach dem alten Multiline suchen, ersetzen Sie in inteliJ durch Version> 15.x. Es scheint etwas versteckt zu sein, aber wenn Sie mehrere Zeilen auswählen> klicken CTRL+F, dann klicken Sie sofortCTRL+R Ihnen der ursprüngliche mehrzeilige Ersatz angezeigt.

Dies funktioniert auf einem Mac IntelliJ 2016.1.3mit ⌘ + F> ⌘ + R.

Geben Sie hier die Bildbeschreibung ein

wired00
quelle
3
Sie drücken einfach ALT + Eingabetaste, mit dem Fokus im Textfeld
Meo
Selbst mit diesem Trick ist es nicht möglich, mehrere Zeilen in das Ersetzungsfeld einzugeben.
Daniele Torino
Es funktioniert gut für mich innerhalb IntelliJ 2016.1.3von MAC, ⌘ + F> ⌘ + R
wired00
4

Für Intellij ultimative 2.017,3 auf Mac command-shift-enterfunktioniert

wiena wu
quelle
1
Diese Antwort ist legitim und funktioniert für das Suchen und Ersetzen in IntelliJ IDEA, PHPStorm und WebStorm, wo der Benutzer eine Instanz von durch eine \nneue Zeile ersetzen möchte . Bitte stimmen Sie nützliche Antworten nicht ab.
Bartekus
1

Auf Intellij Ultimate 2017.1:

Ich brauchte keinen regulären Ausdruck. Aber ich könnte den mehrzeiligen Ersatz erscheinen lassen.

  • Ich habe \ n in das Feld eingegeben, das ich ersetzen wollte
  • Ich platzierte meinen Cursor in dem Feld, in das ich den Ersatztext eingeben wollte, und klickte auf Strg-Umschalt + Eingabetaste. Hier drücke ich einfach die Eingabetaste

Geben Sie hier die Bildbeschreibung ein

Somaiah Kumbera
quelle
0

Ein sauberer Ansatz wäre, (?m)vor dem regulären Ausdruck hinzuzufügen , der den Mehrzeilenmodus aktiviert. Dies hat den Vorteil, dass Sie es auch in der globalen Dateisuche (Strg-Umschalt-F) verwenden können.

Beispiel: (?m)\{(.|\n)*?\}Sucht nach mehrzeiligen Blöcken, die von geschweiften Klammern umgeben sind.

spheenik
quelle
0

Das ist verwandt, aber nicht genau das, was Sie gefragt haben. Aber ich brauchte es und ich kann mir vorstellen, dass andere es tun. Ich hatte also das Problem in Node.js, wo ich eine Ablehnung in einen Anruf in ein Protokoll aufteilen und aus Gründen der Klarheit ablehnen wollte

reject(error)

in

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

Im normalen Modus habe ich gefunden und ersetzt

Finden: reject(error)

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

Dann habe ich im Regex-Modus ein zweites Mal gesucht und ersetzt:

Finden: \\n

Ersetzen \n

Dr. Code Monkey
quelle
Wenn Ihre Antwort hilfreich ist, diese Frage jedoch nicht beantwortet, ist es besser, eine neue Frage zu stellen und dort Ihre Antwort hinzuzufügen. Wir freuen uns immer über nützliche neue Fragen und Antworten, und es wird empfohlen, Ihre eigene Frage zu beantworten, wenn Sie können :)
Max Vollmer
0

Ctrl+ Shift+ R während der ersetzte Text ausgewählt ist :

Dies funktioniert für In Pfad ersetzen (WebStorm 2018.2.3):

Geben Sie hier die Bildbeschreibung ein

siehe hier

Felix
quelle