IntelliJ IDEA способ редактирования нескольких строк

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

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

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

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

Ответ 1

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

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

Alt + Shift + Щелчок мышью

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

Ответ 2

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

Начиная с IntelliJ IDEA 14 есть также Clone Caret выше/ниже:

  • Windows: Ctrl, Ctrl + Up/Down
  • MacOS: Option, Option + Up/Down

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

Ответ 3

Другой подход только для клавиатуры. Возможно (начиная с версии 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

Ответ 4

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

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

Mac: option + option (удерживать) + ↑ / ↓.

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

Изменить Multi-Caret Hotkey

Для добавления пользовательского Keymap, CTRL + SHIFT + A, введите keymap и нажмите на один с Settings как подтекст. Поиск Clone Caret Above и Clone Caret Below.

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

бонус

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

Ответ 5

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

Ответ 6

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

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

Ответ 7

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

enter image description here

Ответ 8

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

      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

для получения дополнительной ссылки: ссылка

Ответ 9

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

";

с:

"+" foo ";
Поэтому, если вы не знаете: если вы выбрали текст при выполнении замены (Ctrl + R или Cmd + R), он применим только к выбранному фрагменту текста.

Ответ 10

ALT + CTRL + SHIFT + CLICK на Linux

Ответ 11

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

В Linux (НЕ ТРЕБУЕТСЯ МЫШЬ):

  1. ALT + SHIFT + INSERT 'для входа в режим блокировки

    entered column edit mode

  2. SHIFT + UP или SHIFT + DOWN для выбора нескольких строк

    enter image description here

  3. END для перехода к концу каждой строки

    enter image description here

  4. Теперь введите foo, он добавит его к каждой строке:

    enter image description here

  5. Теперь отмените выбор всего с помощью ESCAPE и вернитесь в нормальный режим выбора с помощью ALT + SHIFT + INSERT.

Ответ 12

Удерживайте ALT и используйте мышь для щелчка и перетаскивания

Ответ 13

То, что я обычно использую (NetBeans, но я считаю, что он прост в использовании в любой IDE), find&replace.

Вы просто находите ;\n и заменяете его на + $foo;\n, тогда вы не применимы ко всем строкам, но вы помещаете курсор в первую строку, и вы просто нажимаете кнопку "заменить" (в зависимости от вашей среды IDE, я полагаю) 7 чтобы изменить 7 строк в кратчайшие сроки. Легко и просто, и это должно быть сделано с самой простой и самой современной IDE, которую вы можете найти.

EDIT: В IntelliJ (не знаю, работает ли он в других IDE), вы можете использовать поиск в regexp и замену только на выбор, чтобы вы могли фактически использовать "заменить все"

Ответ 14

Для пользователей Mac это: ALT + SHIFT + Click