Nice programing

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

nicepro 2020. 11. 14. 11:05
반응형

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


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

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

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


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

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

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


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

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

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

IntellijRearrangeMethodsInDFO

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

RerangeActionMenuButton

여기에 이미지 설명 입력


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

여기에 이미지 설명 입력


With your cursor on the method definition line (you do not have to and press ctrl+shift+up or ctrl+shift+down, to move up or down respectively.

You can also to ctrl+shift+numberpad - to quickly collapse everything so you can focus on moving around (plain - works on my laptop as well, not sure why) and ctrl+shift+numberpad + to get back to see everything (ctrl-shift-equals works on my laptop as well).


Select a block of text (hit Ctrl-W a few times) and then use Ctrl-Shift-Up and Ctrl-Shift-Down to move it around.


There is an automated way, which you can later tweak

Code -> show reformat file dialog

and tick "rearrange code" box

참고 URL : https://stackoverflow.com/questions/2827308/simple-way-to-reorder-methods-of-a-java-class-in-intellij

반응형