IntelliJ IDEA способ редактирования нескольких строк - PullRequest
57 голосов
/ 12 августа 2009

Я видел, как это делается в TextMate, и мне было интересно, есть ли способ сделать это в IDEA.

Скажите, у меня есть следующий код:

 leaseLabel = "Lease";
 leaseLabelPlural = "Leases";
 portfolioLabel = "Portfolio";
 portfolioLabelPlural = "Portfolios";
 buildingLabel = "Building";

Какой лучший способ добавить '+ "foo" к каждой строке? Режим столбца не будет работать, так как линии не правильно выровнены по правой стороне ... если нет простого способа выравнивания текста по правому краю: P

Ответы [ 13 ]

100 голосов
/ 20 марта 2014

Начиная с Idea IntelliJ IDEA 13.1, есть возможность редактировать несколько строк.

Использование:

Alt + Shift + щелчок мыши

для выбора. Подробнее об этом улучшении в блоге IntelliJ здесь . Очень полезная функция.

68 голосов
/ 09 января 2015

Я использую Режим выбора столбца ( Cmd + Shift + 8 на Mac), который позволяет создавать несколько курсоров с помощью Shift + Вверх или Shift + Вниз и редактировать все строки вместе.

Начиная с IntelliJ IDEA 14, также есть Клон Карет выше / ниже :

  • Windows: Ctrl , Ctrl + Вверх / Вниз
  • MacOS: Опция , Опция + Вверх / Вниз

(удерживайте второе нажатие клавиши-модификатора, затем нажмите клавишу со стрелкой)

11 голосов
/ 17 сентября 2017

Поместите каретку в конец

Windows: CTRL + CTRL (Удерживать) + ↑ / ↓

Mac: опция + опция (Удерживать) + ↑ / ↓ .

Чтобы поместить каретку в конце рядов: переместите каретку в верхний ряд, клонируйте ее вниз и нажмите END .

Изменить горячую клавишу Multi-Caret

Чтобы добавить пользовательскую карту клавиш, CTRL + SHIFT + A , введите keymap и нажмите на нее с Settings в качестве подтекста. Искать Clone Caret Above и Clone Caret Below.

Я сопоставил мой с ALT + SHIFT + ↑ / ↓ в Windows и + ↑ / ↓ на Mac.

Бонус

Попробуйте удерживать комбинации CTRL , SHIFT и стрелки для улучшения силы выбора.

9 голосов
/ 16 июня 2017

Еще один подход только для клавиатуры. Возможно (начиная с версии 13.1) использовать Alt + J / Shift + Alt + J ( Ctrl + G для OS X) ярлыки для создания нескольких кареток. Alt + J выбирает следующее вхождение текущего выделенного текста и добавляет еще одну вставку.

  1. Выберите первую точку с запятой

enter image description here

  1. Затем нажмите Alt + J четыре раза

enter image description here

  1. Редактировать то, что вы хотите

enter image description here

  1. Нажмите Esc , чтобы вернуться к первой строке.

enter image description here

7 голосов
/ 12 августа 2009

Я просто использую макросы для такого рода вещей. Я начинаю запись макроса, делаю это один раз, затем воспроизводю макрос в каждой строке, которую хочу изменить. Вы будете поражены тем, насколько вы можете получить такую ​​особенность благодаря функции записи / воспроизведения макросов.

5 голосов
/ 11 декабря 2015

Мне потребовалось некоторое время, чтобы выяснить это, но на Mac вы можете дважды нажать Option (нажмите один раз, отпустите, нажмите еще раз, удерживайте нажатой) и используйте Up / Вниз клавиши для создания / удаления каретки по вашему желанию.

Вы также можете удерживать Shift + Параметр и щелкнуть, чтобы создать / удалить каретки в определенных точках.

4 голосов
/ 02 сентября 2017

Вы также можете сделать вертикальный выбор кодового блока, нажав , щелкнув колесо мыши и , перетащив :

enter image description here

3 голосов
/ 13 августа 2018

Выбрать следующее вхождение:

      Alt+J on Windows, Ctrl-G on Mac OS X

Отмена выбора вхождения:

      Alt+Shift+J on Windows, Ctrl-Shift-G on Mac OS X

Выбрать все вхождения:

      Ctrl+Alt+Shift+J on Windows, Ctrl-Cmd-G on Mac OS X

для дополнительной информации: ссылка

3 голосов
/ 11 сентября 2009

В этом случае вы также можете просто выбрать фрагмент кода, в котором вы хотите это сделать, и выполнить его замену. Заменить:

«;

с:

"+" foo ";

Таким образом, если вы не знали: если у вас выделен текст во время замены (Ctrl + R или Cmd + R), он будет применяться только к выбранному фрагменту текста.

2 голосов
/ 30 января 2019

ALT + CTRL + SHIFT + CLICK на Linux

...