2010-05-13 3 views
47

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

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

Я использую IntelliJ 9.0.2 для уточнения.

+0

Я думаю, что лучшим решением будет инструментом форматирования, упорядочивает ваши методы автоматически. Проза: Методы должны быть порядками в том, как они вызываются. Так же, как вы читали статью в газете. – Chris311

ответ

71

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

На OS X: Cmd + Сдвиг + Up или Cmd + Сдвиг + вниз

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

+0

разве что-то просто изменить порядок в алфавитном порядке, например? –

+0

Ссылка мертва, это кажется правильным: http://java.net/projects/rearranger – stian

+0

@stian - я отредактировал сообщение, чтобы указать на страницу плагина на веб-сайте JetBrains, так как ссылка вы опубликовано, похоже, нет доступных загрузок – adrian

2

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

7

С помощью курсора на строке определения метода (вы не должны и нажмите Ctrl + сдвиг + вверх или Ctrl + сдвиг + вниз, чтобы двигаться вверх или вниз соответственно .

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

6

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

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

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

IntellijRearrangeMethodsInDFO

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

RearrangeActionMenuButton

enter image description here

4

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

enter image description here

Смежные вопросы