Як в Intellij IDEA замінити текст новим рядком?


119

Скажіть, що я хотів замінити всі коми комами та новою лінією за допомогою функції заміни Intellij IDEA. Що я поміщаю у вікно пошуку? Я б використовував & vim

Відповіді:


171

Потрібно встановити прапорець Regex і використати "\ n" для нового символу рядка:

введіть тут опис зображення


І як можна видалити порожній рядок, використовуючи той же регулярний вираз. :)
muasif80

96

Використовуйте кнопку "Мультилінія", Regex не потрібен.

редагувати: багаторядкова кнопка відсутня з IntelliJ 15, але її можна ввімкнути, натиснувши на текстове поле та натиснувши Alt+EnterабоCtrl+Shift+Enter


5
Я використовую 15, і схоже, що багатолінійної функції більше немає. Чому вони видаляли б таку корисну функцію?
Меттью Корнелл

4
Це все ще існує, виберіть кілька рядків, потім натисніть CTRL+F, потім клацніть CTRL+R, здається, це прихована функція, але все ще працює в тому випадку, як і попередні версії
wired00

6
Зараз це ще простіше - у полях пошуку або заміни з’являється видима стрілка повернення каретки - клацнувши по ній, буде вставлена ​​нова лінія.
Луї Сент-Амур

8

Натисніть CTRL+Fі поставте regexпрапорець. Потім знайдіть ,і замініть його ,\n.


7

Найпростіший спосіб, який я це зробив, - це використовувати форму заміни регулярного виразу.

введіть тут опис зображення

Цілком ймовірно, що ви не хочете замінювати їх {, а просто продовжуйте міняти їх, якщо ви цього хочете.


Ха-ха, схоже, що всі це знають.
Андрій Чащев

Так і здається, ти швидше з Paint :). PS: Якщо ви цього не пробували, я настійно пропоную Даркулу! На мої очі так простіше.
pickypg

1
Це PicPick, який я використовую. Я спробував тему Idea Darcula, але, мабуть, я занадто сильно звик до кольорів за замовчуванням.
Андрій Чащев

4

Для тих, хто шукає стару багаторядкову заміну в inteliJ на версію> 15.x. Це здається дещо прихованим, але якщо ви вибрали декілька рядків> клацніть CTRL+F, то негайно клацніть, CTRL+Rвам буде запропоновано оригінальну заміну багато рядків.

Це працює на Mac IntelliJ 2016.1.3з ⌘ + F> ⌘ + R

введіть тут опис зображення


3
Ви просто натискаєте ALT + Enter, з акцентом у текстовому полі
Meo

Навіть за допомогою цього фокусу неможливо ввести кілька рядків у поле заміни.
Даніеле Торіно

Це працює для мене добре в IntelliJ 2016.1.3MAC, ⌘ + F> ⌘ + R
wired00

4

Для Intellij Ultimate 2017.3 на Mac command-shift-enterпрацює


1
Ця відповідь є законною і працює для пошуку та заміни в IntelliJ IDEA, PHPStorm та WebStorm, де користувач хоче замінити екземпляр \nфактично новим рядком. Будь ласка, не зволікайте корисних відповідей.
Bartekus

1

Про intellij Ultimate 2017.1:

Мені не знадобився регулярний вираз. Але я міг би зробити заміну багаторядкових.

  • Я ввів \ n у поле, яке хотів замінити
  • Я розмістив курсор у полі, де я хотів ввести текст заміни, і натиснув Ctrl-Shift + Enter. Тут я просто натиснув на повернення

введіть тут опис зображення


0

Чистим підходом було б додати (?m)перед регулярним виразом, який вмикає багаторядковий режим. Це має перевагу в тому, що ви також можете використовувати його в глобальному пошуку файлів (Ctrl-Shift-F).

Приклад: (?m)\{(.|\n)*?\}пошук багаторядкових блоків, оточених фігурними дужками.


0

Це пов'язано, але не саме те, про що ви запитували. Але мені це було потрібно, і я можу уявити, що інші роблять. Тож у мене виникла проблема в Node.js, де я хотів розділити відхилення на виклик у журнал та відхилити для ясності

reject(error)

в

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

У звичайному режимі я їх знайшов і замінив

Знайти: reject(error)

Замінити: appLogger.log(error, 'error')\n reject(error)

Потім у режимі регулярного вираження я повторно знайшов та замінив:

Знайти: \\n

Замініть \n


Якщо ваша відповідь корисна, але насправді не відповідає на це питання, краще задати нове запитання і додати туди свою відповідь. Ми завжди вітаємо корисні нові запитання та відповіді, і радимо відповісти на власне запитання, якщо зможете :)
Макс Волмер

0

Ctrl+ Shift+ R під час вибору заміненого тексту :

Це працює для Replace in Path (WebStorm 2018.2.3):

введіть тут опис зображення

дивіться тут

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.