Jak w Intellij IDEA zamienić tekst na nową linię?


119

Powiedzmy, że chcę zastąpić wszystkie przecinki przecinkami i nową linią, używając funkcji zamiany Intellij IDEA. Co mam wpisać w polu wyszukiwania? W vimie użyłbym & \ r

Odpowiedzi:


171

Musisz zaznaczyć pole Regex i użyć „\ n” jako znaku nowego wiersza:

wprowadź opis obrazu tutaj


I jak możesz usunąć pusty wiersz przy użyciu tego samego wyrażenia regularnego. :)
muasif80

96

Użyj przycisku Multiline, nie jest potrzebne wyrażenie Regex.

edycja: przycisk multilinii brakuje od IntelliJ 15, ale można go włączyć, klikając pole tekstowe i naciskając Alt+EnterlubCtrl+Shift+Enter


5
Używam 15 i wygląda na to, że funkcja multilinii już nie istnieje. Dlaczego mieliby usunąć tak przydatną funkcję?
Matthew Cornell,

4
To nadal istnieje, wybierz wiele linii, a następnie kliknij CTRL+F, a następnie kliknij CTRL+R, wydaje się, że jest to ukryta funkcja, ale nadal działa w tym przypadku jak poprzednie wersje
wired00

6
Teraz jest to jeszcze łatwiejsze - widoczna strzałka karetki pojawia się w polach znajdź lub zamień - kliknięcie jej spowoduje wstawienie nowej linii.
Louis St-Amour

8

Uderz CTRL+Fi zaznacz pole regexwyboru. Następnie wyszukaj ,i zamień go na ,\n.


7

Najłatwiejszym sposobem, w jaki to zrobiłem, jest użycie wyrażenia regularnego zamiany.

wprowadź opis obrazu tutaj

Są szanse, że nie chcesz wymieniać {, ale po prostu trzymaj mnie w ucieczce, jeśli chcesz to zrobić.


Ha-ha, wygląda na to, że wszyscy to wiedzą.
Andrey Chaschev

Tak i wygląda na to, że z Paintem jesteś szybszy :). PS: Jeśli jeszcze tego nie próbowałeś, zdecydowanie polecam Darcula! To jest o wiele łatwiejsze dla moich oczu.
pickypg

1
To PicPick, którego używam. Wypróbowałem motyw Idea Darcula, ale wydaje mi się, że jestem zbyt przyzwyczajony do domyślnych kolorów.
Andrey Chaschev

4

Dla szukających starej multilinii zamień w inteliJ na wersję> 15.x. Wydaje się, że jest nieco ukryty, ale jeśli wybierzesz wiele linii> kliknij CTRL+F, a następnie natychmiast kliknij, CTRL+Raby wyświetlić oryginalne zastąpienie multilinii.

To działa na Macu IntelliJ 2016.1.3z ⌘ + F> ⌘ + R.

wprowadź opis obrazu tutaj


3
po prostu naciśnij ALT + Enter, z fokusem w polu tekstowym
Meo

Nawet z tą sztuczką nie można wprowadzić wielu wierszy w polu zamiany.
Daniele Torino

IntelliJ 2016.1.3
Działa

4

Dla IntelliJ Ostatecznego 2017.3 na Mac, command-shift-enterdziała


1
Ta odpowiedź jest uzasadniona i działa w celu wyszukiwania i zastępowania w IntelliJ IDEA, PHPStorm i WebStorm, gdzie użytkownik chce zastąpić wystąpienie \naktualną nową linią. Nie neguj przydatnych odpowiedzi.
Bartekus

1

W przypadku intellij Ultimate 2017.1:

Nie potrzebowałem wyrażenia regularnego. Ale mógłbym sprawić, że pojawi się zamiana multilinii.

  • Wpisałem \ nw polu, które chciałem zamienić
  • Umieściłem kursor w polu, w którym chciałem wprowadzić tekst zastępczy, i kliknąłem Ctrl-Shift + Enter. Tutaj właśnie wcisnąłem powrót

wprowadź opis obrazu tutaj


0

Czystym podejściem byłoby dodanie (?m)przed wyrażeniem regularnym, które włącza tryb wieloliniowy. Ma to tę zaletę, że można go również używać podczas globalnego wyszukiwania plików (Ctrl-Shift-F).

Przykład: (?m)\{(.|\n)*?\}wyszukuje wieloliniowe bloki w nawiasach klamrowych.


0

Jest to powiązane, ale nie dokładnie to, o co prosiłeś. Ale potrzebowałem tego i wyobrażam sobie, że inni to robią. Więc miałem problem w Node.js, gdzie chciałem podzielić odrzucenie na wywołanie w dzienniku i odrzucić dla przejrzystości

reject(error)

w

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

W trybie normalnym znalazłem i wymieniłem

Odnaleźć: reject(error)

Zastąpić: appLogger.log(error, 'error')\n reject(error)

Następnie w trybie regex wykonałem drugie znalezienie i zastąpienie:

Odnaleźć: \\n

Zastąpić \n


Jeśli Twoja odpowiedź jest pomocna, ale nie odpowiada na to pytanie, lepiej zadać nowe pytanie i dodać tam swoją odpowiedź. Zawsze witamy nowe przydatne pytania i odpowiedzi, a jeśli możesz, zachęcamy do udzielenia odpowiedzi na własne pytanie :)
Max Vollmer

0

Ctrl+ Shift+ R podczas zaznaczania zastąpionego tekstu :

Działa to w przypadku opcji Replace in Path (WebStorm 2018.2.3):

wprowadź opis obrazu tutaj

zobacz tutaj

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.