Как в Intellij IDEA заменить текст новой строкой?


119

Скажем, я хотел заменить все запятые запятыми и новую строку с помощью функции замены Intellij IDEA. Что я помещаю в поле поиска? В vim я бы использовал & \ r

Ответы:


171

Вам нужно установить флажок Regex и использовать "\ n" для символа новой строки:

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


И как вы можете удалить пустую строку с помощью того же регулярного выражения. :)
muasif80

97

Используйте многострочную кнопку, регулярное выражение не требуется.

изменить: многострочная кнопка отсутствует с IntelliJ 15, но вы можете включить ее, щелкнув текстовое поле и нажав Alt+EnterилиCtrl+Shift+Enter


5
Я использую 15, и похоже, что многострочной функции больше нет. Зачем им убрать такую ​​полезную функцию?
Мэтью Корнелл,

4
Он все еще существует, выберите несколько строк, затем щелкните CTRL+F, затем щелкните CTRL+R, кажется, что это скрытая функция, но все еще работает в этом случае, как и предыдущие версии
wired00

6
Теперь это еще проще - в полях поиска или замены появляется видимая стрелка каретки возврата - щелчок по ней вставляет новую строку.
Louis St-Amour

8

Нажмите CTRL+Fи установите regexфлажок. Затем найдите ,и замените его на ,\n.


7

Самый простой способ сделать это - использовать замену в форме регулярного выражения.

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

Скорее всего, вы не захотите заменять их {, но просто продолжайте убегать от них, если вы действительно этого хотите.


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

Это так, и кажется, что с Paint вы быстрее :). PS: Если вы еще не пробовали, то настоятельно рекомендую Darcula! Для моих глаз это намного проще.
pickypg

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

4

Для тех, кто хочет заменить старую многострочную версию в InteliJ на версию> 15.x. Это кажется несколько скрытым, но если вы выберете несколько строк> щелкните CTRL+F, а затем сразу же щелкните, CTRL+Rвы увидите исходную многострочную замену.

Это работает на Mac IntelliJ 2016.1.3с ⌘ + F> ⌘ + R

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


3
вы просто нажимаете ALT + Enter, с фокусом в текстовом поле
Meo,

Даже с помощью этого трюка невозможно ввести несколько строк в поле замены.
Daniele Torino

Он отлично работает для меня IntelliJ 2016.1.3на MAC, ⌘ + F> ⌘ + R
wired00

4

Для Intellij Ultimate 2017.3 на Mac command-shift-enterработает


1
Этот ответ является законным и работает для поиска и замены в IntelliJ IDEA, PHPStorm и WebStorm, где пользователь хочет заменить экземпляр \nфактической новой строкой. Пожалуйста, не понижайте полезные ответы.
Bartekus 02

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 при выделении заменяемого текста :

Это работает для замены в пути (WebStorm 2018.2.3):

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

смотрите здесь

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.