[Naem] intellij - checkstyle과 formatter 셋업하기
1. 준비
코드를 다운로드 받는다.
깃허브에서 두 개의 파일을 다운로드 받는다.
naver-intellij-formatter.xml
naver-checkstyle-rules.xml
파일을 프로젝트 폴더 최상단에 넣어준다.
2. formatter 적용
Intellij의 코드 스타일을 naver-coding-convention 형식으로 변경한다.
Preference
-Editor
-Code Style
-Java
에 들어가면 아래 사진처럼 나온다.
- 노란색 동그라미 친 톱니바퀴를 누르고
Import Scheme
->IntelliJ IDEA code style XMl
을 클릭한다. - 프로젝트에서 아까 다운받은
naver-intellij-formatter.xml
을 찾아서 open한다. - 주황색 동그라미에 체크되어 있으면 없애준다. 🌟
Tab size
와Indent
가 4인걸 확인해주고 OK를 누른다.
formatter 단축키
mac OS 기준으로,
cmd
+option
+L
: code format 맞추기ctrl
+option
+O
: 불필요한 import 제거 및 import 순서 재배치
3. CheckStyle 연동
CheckStyle이란, 이미 만들어진 코드가 “네이버 핵데이 Java 코딩 컨벤션”에 맞게 작성되었는지 검사하는 도구이다.
naver-checkstyle-rules.xml
코드 변경
코드 변경에 앞서서, 만약 위 사진에서 밑줄 친 부분이 빨갛게 뜬다면, option
+ enter
를 눌러서 Fetch external resource
를 클릭한다.
이제 코드를 변경해보자.
1) 해당 부분을 찾아서 지워준다.
CheckBox를 적용하지 않을 예외 파일을 설정해주는 모듈인데 필요없다.
<!--- Suppression -->
<module name="SuppressionFilter">
<property name="file" value="${suppressionFile}"/>
<property name="optional" value="true"/>
</module>
2) 해당 부분도 지워준다.
우리는 들여쓰기를 4space 방식을 사용하는데, CheckBox는 기본으로 tab 방식을 지원하기 때문에 이걸 변경하려는 것이다.
<!-- [indentation-tab] -->
<module name="RegexpSinglelineJava">
<property name="format" value="^\t* "/>
<property name="message" value="[indentation-tab] Indent must use tab characters"/>
<property name="ignoreComments" value="true"/>
</module>
3) 이제 tab 방식으로 되어있으면 오류가 표시되는 모듈을 넣어준다.
<module name="FileTabCharacter">
<property name="eachLine" value="true"/>
</module>
그런데 위치가 중요하다!🚨
<module name="TreeWalker">
blabla....
</module>
<module name="FileTabCharacter">
<property name="eachLine" value="true"/>
</module>
이런 식으로 FileTabCharacter를 TreeWalker 바깥에 위치시켜야 한다.
CheckStyle-IDEA
플러그인을 다운로드
Preference
- Plugins
에서 CheckStyle-IDEA
플러그인을 다운로드한다.
naver-checkstyle-rules.xml
추가
Preference
- Tools
- Checkstyle
에서 버전을 8.24 이상으로, Scan Scope를 All sources(including tests)로 맞추고,
+
를 눌러, 위에서 편집해준 naver-checkstyle-rules.xml
를 추가해준다.
CheckStyle 사용 방법
1) intellij에서 원하는 파일에 돌리기
하단의 checkstyle을 누른 뒤에 좌측 초록색 재생 버튼을 누르면, checkstyle에 맞지 않는 부분이 경고로 뜬다.
이 경우에 formatter 단축키인 cmd
+option
+L
을 누르면 자동으로 코드를 알맞게 formatting 해준다.
임포트에 경고가 표시되어 있다면, ctrl
+option
+O
로 재배치 가능하다.
2) commit 시에 checkstyle 검사하기
Ref.
💛 개인 공부 기록용 블로그입니다. 👻