IDE Tool/IntelliJ IDEA

IntelliJ에서 Commit 시 Reformat code 옵션과 Rearrange code 옵션의 차이

Wings of Freedom 2021. 4. 20. 15:39

IntelliJ에서 Commit 시 Reformat code 옵션과 Rearrange code 옵션의 차이

이제까지 Git에 커밋을 하면서 Reformat code와 Rearrange code 옵션을 크게 의식해서 사용한 적이 없는데 문득 두 옵션의 차이가 궁금해져서 찾아봤다.

 

Commit changes - Reformat code와 Rearrange code

 

Reformat code 옵션

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.stereotype.Component;

@Component
public class SampleRunner implements ApplicationRunner { private Logger logger = LoggerFactory.getLogger(SampleRunner.class);
        private ApplicationRunner applicationRunner;

    @Override
    public void run(ApplicationArguments args) throws Exception {
        logger.debug("===================");logger.debug("abcdefg");
        
        
                 logger.debug("===================");
                    }}

 

위와 같이 지저분하게 정렬된 코드가 있다고 하자.

윈도우 기준으로 Ctrl + Alt + L 단축키를 누르면 코드가 깔끔하게 재정렬 된다.

 

@Component
public class SampleRunner implements ApplicationRunner {
    private Logger logger = LoggerFactory.getLogger(SampleRunner.class);
    private ApplicationRunner applicationRunner;

    @Override
    public void run(ApplicationArguments args) throws Exception {
        logger.debug("===================");
        logger.debug("abcdefg");


        logger.debug("===================");
    }
}

 

이게 Reformat code 옵션을 사용했을때 발생하는 일이다.

개발을 하면서 들여쓰기같은 것을 크게 신경쓰지 않고 개발을 하다가 한번씩 코드를 정리하고싶을때 사용하기 좋은 기능이다.

 

Rearrange code 옵션

Rearrange code 옵션은 Reformat code 옵션보다 더 상세한 코드 재정렬을 할 수 있다.

예를 들면 설정된 사용자 규칙에 따라 변수의 순서를 바꿀 수 있다.

@Component
public class SampleRunner implements ApplicationRunner {
    private Logger logger = LoggerFactory.getLogger(SampleRunner.class);
    private ApplicationRunner applicationRunner;
    private Boolean isExist;
}

 

위와 같이 변수 세 개가 선언되어 있다.

이 변수를 Rearrange code 기능을 통해 이름 순으로 자동 재정렬할 수 있는데, 먼저 사용자 규칙을 정의해야 한다.

 

Settings - Editor - Code Style - Java - Arrangement를 클릭한다.

Matching rules에서 field - private 우측의 연필(수정) 아이콘을 클릭한다.

 

수정 창이 열리는데, Order에서 order by name을 선택하고 Apply 또는 OK를 클릭하여 적용한다.

 

Rearrange를 적용하고자 하는 파일에서 마우스 우측버튼을 클릭하고 Reformat Code를 클릭한다.

 

Rearrange entries에 체크하고 OK를 클릭한다.

 

설정한 대로 변수가 이름순으로 자동 정렬된다.

 

Commit 시 Rearrange code에 체크하면 이런 일들이 적용되는 것이다.

 

이렇게 Reformat code, Rearrange code 둘 다 commit 시에만 사용하는 옵션이 아니라 개발 중 범용적으로 사용할 수 있는 옵션이다.

변수 순서와 같이 아주 상세한 재정렬을 할 것이 아니라면 Reformat code 옵션만 사용하면 된다.

 

References

https://www.jetbrains.com/help/idea/reformat-and-rearrange-code.html

 

출처 : atoz-develop.tistory.com/entry/IntelliJ%EC%97%90%EC%84%9C-Commit-%EC%8B%9C-Reformat-code-%EC%98%B5%EC%85%98%EA%B3%BC-Rearrange-code-%EC%98%B5%EC%85%98%EC%9D%98-%EC%B0%A8%EC%9D%B4?category=846755