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

Antworten:


171

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

Geben Sie hier die Bildbeschreibung ein


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


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.


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.


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


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


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


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.


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


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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.