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

119

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

Bjorn
источник

Ответы:

171

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

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

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

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

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

Meo
источник
5
Я использую 15, и похоже, что многострочной функции больше нет. Зачем им убрать такую ​​полезную функцию?
Мэтью Корнелл,
4
Он все еще существует, выберите несколько строк, затем щелкните CTRL+F, затем щелкните CTRL+R, кажется, что это скрытая функция, но все еще работает в этом случае, как и предыдущие версии
wired00
6
Теперь это еще проще - в полях поиска или замены появляется видимая стрелка каретки возврата - щелчок по ней вставляет новую строку.
Louis St-Amour
8

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

kmera
источник
7

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

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

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

pickypg
источник
Ха-ха, похоже, все это знают.
Андрей Чащев
Это так, и кажется, что с Paint вы быстрее :). PS: Если вы еще не пробовали, то настоятельно рекомендую Darcula! Для моих глаз это намного проще.
pickypg
1
Я использую PicPick. Я попробовал Idea Darcula Theme, но, полагаю, я слишком привык к цветам по умолчанию.
Андрей Чащев
4

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

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

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

wired00
источник
3
вы просто нажимаете ALT + Enter, с фокусом в текстовом поле
Meo,
Даже с помощью этого трюка невозможно ввести несколько строк в поле замены.
Daniele Torino
Он отлично работает для меня IntelliJ 2016.1.3на MAC, ⌘ + F> ⌘ + R
wired00
4

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

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

В intellij Ultimate 2017.1:

Мне не нужно было регулярное выражение. Но я мог бы заставить появиться многострочную замену.

  • Я ввел \ n в поле, которое хотел заменить
  • Я поместил курсор в поле, в которое я хотел ввести заменяющий текст, и щелкнул Ctrl-Shift + Enter. Здесь я только что нажал возврат

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

Сомаиа Кумбера
источник
0

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

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

spheenik
источник
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):

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

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

Феликс
источник