IntelliJ에서 Java 클래스의 메서드를 재정렬하는 간단한 방법은 무엇입니까?


82

IntelliJ의 클래스 소스 파일 내에서 수동으로 코드를 잘라내어 붙여 넣는 것보다 더 간단한 방법이 있습니까? 요즘에는 레거시 코드를 리팩토링하는 동안이 기능이 자주 필요합니다. 예를 들어 소스 코드에서 관련 메서드를 서로 가깝게 이동하는 경우입니다.

Eclipse AFAIK에는 IntelliJ의 구조보기와 유사한보기가 있으며 여기에서 메소드를 끌어서 놓을 수 있습니다. 그러나 이것은 IntelliJ에서 작동하지 않으며 도움에서 힌트를 찾을 수 없습니다.

IntelliJ 9.0.2를 사용하고 있습니다.


가장 좋은 해결책은 방법을 자동으로 정렬하는 서식 지정 도구라고 생각합니다. Prose : 메서드는 호출되는 방식의 순서 여야합니다. 신문 기사를 읽는 것처럼 요.
Chris311

답변:


107

메소드 이름을 선택하고 Ctrl+ Shift+ Up또는 Ctrl+ Shift+ Down를 눌러 위아래로 이동할 수 있습니다.

OS X : Cmd+ Shift+ Up또는 Cmd+ Shift+Down

이 외에도 재배 열자 플러그인을 사용하면 메서드를 빠르게 이동할 수 있으며 코딩 규칙에 따라 표준 순서를 정의 할 수도 있습니다.


예를 들어 알파벳순으로 재정렬 할 것이 없습니까?
Jaime Hablutzel 2011 년

: 링크가 죽었,이 올바른 것 같다 java.net/projects/rearranger
스티

@stian - 당신이 게시 된 링크를 사용할 수있는 다운로드가 보이지 않기 때문에 내가 JetBrains의 '웹 사이트의 플러그인 페이지로 지점에 게시물을 편집 한
아드리안

5
Cmd를 + 시프트 + 위 / Cmd를 + Shift + 다운 : 맥 OS X의 경우
기독교 가르시아

2
IDEA 16 이후 메뉴를 통해 사용할 수 있습니다.Code > Move Statement Up/Down
Lu55

23

IntelliJ의 버그로 인해 아직 완벽한 대답은 아닙니다 .

IntelliJ는이 기능을 암시 적으로 제공하지만 활성화 및 수정이 필요합니다. OP가 제안하는 방법은 기술적으로 깊이 우선 순서로 방법을 배열하는 것입니다. 그러나 Breadth-first ordering (적절하게 작동하는)을 사용한다면 모든 caller와 callee 메소드를 함께 배열하여 이동하는 함수의 수동 작업을 많이 줄여야합니다.

문제 링크 : https://youtrack.jetbrains.com/issue/IDEA-149524 . 결의안을 투표 해주세요.

IntellijRearrangeMethodsInDFO

이에 대한 적절한 조치는 코드 재정렬입니다. 여기에는 할당 된 키가 없지만 기본 설정-> 키맵을 사용하여 직접 정의 할 수 있습니다.

RerangeActionMenuButton

여기에 이미지 설명 입력


23

IntelliJ에는 메서드 주문 방법을 지정할 수있는 시스템이 내장되어 있습니다. 설정 (Ctrl + Alt + S)-> 편집기-> 코드 스타일-> Java-> 배열 (탭)로 이동하여 아이콘이있는 아이콘을 찾을 때까지 아래로 스크롤해야합니다 methods. 여기에서 옵션을 조작하여 가시성 또는 알파벳순으로 정렬하거나 관련 항목을 함께 그룹화 할 수 있습니다. 다음은 가시성 (공개, 보호, 개인) 및 알파벳순 (az)에 따라 메서드를 자동으로 정렬하는 내 설정의 스크린 샷입니다. 파란색 하이라이트는 현재 선택된 규칙을 보여줍니다.

여기에 이미지 설명 입력


1
한 번에 하나 이상의 규칙에 주문 선택을 적용하려면 어떻게해야합니까?
Derek Mahar

이것은 전혀 작동하지 않습니다. 이 구성을 사용하고 재정렬을 수행해도 아무 작업도 수행되지 않습니다.
Mulgard

이 솔루션은 기본 순서로 작동합니다. 감사!
Mr. Polywhirl

7

메서드 정의 줄에 커서를두고 ( 각각 위 또는 아래로 이동하기 위해 ctrl+ shift+ up또는 ctrl+ shift+를 누르지 않아도됩니다 down.

당신은 또한 수에 ctrl+ shift+ numberpad -당신이 주변에 이동에 집중할 수 있도록 신속하게 모든 것을 축소 (일반 -내 노트북에 작품뿐만 아니라, 확실하지 왜)와 ctrl+ shift+ numberpad +로 내 노트북에 작품을 Ctrl 키를 교대 - 동일 (모든 것을 볼 다시 얻을 수 있습니다 잘).


3

텍스트 블록을 선택한 다음 (Ctrl-W를 몇 번 누름) Ctrl-Shift-Up 및 Ctrl-Shift-Down을 사용하여 이동합니다.


1

나중에 조정할 수있는 자동화 된 방법이 있습니다.

코드-> 파일 형식 변경 대화 상자 표시

"코드 재정렬"상자를 선택합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.