Простой способ переупорядочить методы класса Java в IntelliJ? - PullRequest
64 голосов
/ 13 мая 2010

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

В Eclipse AFAIK есть представление, похожее на представление структуры IntelliJ, где я могу перетаскивать методы. Тем не менее, это не работает в IntelliJ, и я не смог найти никаких подсказок от его помощи.

Я использую IntelliJ 9.0.2, чтобы быть конкретным.

Ответы [ 6 ]

86 голосов
/ 13 мая 2010

Вы можете выбрать имя метода и нажать: Ctrl + Shift + Up или Ctrl + Shift + Вниз , чтобы переместить его вверх и вниз.

В OS X: Cmd + Shift + Up или Cmd + Shift + Вниз

Помимо этого, Плагин для реорганизации позволяет быстро перемещать методы и даже определять стандартный порядок на основе вашего соглашения о кодировании.

12 голосов
/ 27 ноября 2016

Не идеальный ответ пока из-за ошибки в IntelliJ.

Хотя IntelliJ предлагает эту функцию неявно, но она должна быть включена, а также исправлена. Предлагаемый способ OP - это техническая организация методов в порядке глубины. Однако, если вы используете упорядочение по ширине (которое работает правильно), это должно значительно сократить ручную работу по перемещению функций, объединяя все методы вызывающего и вызываемого абонентов.

Ссылка на проблему: https://youtrack.jetbrains.com/issue/IDEA-149524. Пожалуйста, проголосуйте за ее решение.

IntellijRearrangeMethodsInDFO

Соответствующее действие для этого - Изменить код. Ему не назначен ключ, но вы можете определить свой собственный, используя Preferences-> Keymap.

RearrangeActionMenuButton

enter image description here

11 голосов
/ 30 января 2017

IntelliJ имеет встроенную систему, которая позволяет вам указать, как упорядочить ваши методы. Вам нужно перейти в Настройки (Ctrl + Alt + S) -> Редактор -> Стиль кода -> Java -> Расположение (вкладка) и прокрутить вниз, пока не найдете значки с methods. Там вы можете манипулировать опциями, чтобы сортировать их по видимости или по алфавиту, или объединять связанные. Вот скриншот моих настроек, которые будут упорядочивать методы автоматически по видимости (общедоступный, защищенный, приватный) и по алфавиту (a-z). Синие блики показывают текущие выбранные правила.

enter image description here

7 голосов
/ 13 мая 2010

Наведите курсор на строку определения метода (вам не нужно нажимать ctrl + shift + вверх или ctrl + смещение + вниз , для перемещения вверх или вниз соответственно.

Вы также можете Ctrl + Shift + цифровая панель - , чтобы быстро свернуть все, чтобы вы могли сосредоточиться на перемещении (обычный - работает и на моем ноутбуке, не знаю почему) и ctrl + shift + цифровая клавиатура + , чтобы вернуться, чтобы увидеть все (ctrl-shift-equals работает на моем ноутбуке).

2 голосов
/ 13 мая 2010

Выберите блок текста (несколько раз нажмите Ctrl-W), а затем используйте Ctrl-Shift-Up и Ctrl-Shift-Down, чтобы переместить его.

0 голосов
/ 12 марта 2018

Существует автоматизированный способ, который можно позже настроить

Код -> Показать диалог переформатирования файла

и поставьте галочку в поле "изменить код"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...