[Intellij] Formatter, Checkstyle 세팅하기!

geun·2023년 1월 29일
0

Setting

목록 보기
3/3
post-thumbnail
post-custom-banner

최근 팀 단위의 프로젝트를 진행하게 되면서 기본적인 코드 컨벤션을 세우고 진행했지만,
아무래도 각자 코딩하던 스타일이 있기 때문에
(저를 예로들면 파이썬으로 코딩을 공부를 시작했기 때문에 Pythonic한 코드를 짜려고 합니다.)
코딩 컨벤션이 잘 지켜지고 있는 부분이 있는 반면에 또 잘 안지켜지고 있는 부분도 있는 것을 발견했습니다.
이 부분을 IDE를 활용해서 에디터에 적용 후 일관적인 코드를 작성하려합니다 :)


이번 글에서는 대표적으로 많이 사용하는 Google Java Style Guide를 적용해보겠습니다.


시작 전 FormatterLinter에 대해 먼저 짚고 넘어가겠습니다.

  • Formatter : 코드 스타일의 약속을 정하고 그 약속을 토대로 Code를 정리합니다. (ex. 줄바꿈, 주석, tab size 등 )

  • Linter : 코드를 분석해서 에러를 찾거나 더 나은 코드를 위해서 모범 사례를 제시해 줍니다.

파이썬과 자바스크립트 진영에서는 위의 용어로 사용되지만, 자바진영에서는 아무래도 Intellij가 많이 사용되고 강력하다보니 구글링시 대부분의 사람들이 Formatter는 Intellij의 기본기능인 code styleLintercheckstyle 플러그인으로 관리를 하는 것 같습니다.
( 틀렸다면 알려주세요..! )

Formatter와 Linter를 조합하면 Formatter를 통해 소스코드를 포맷팅하고, Linter를 사용해서 라인을 검사할 수 있게됩니다.

따라서 이번 포스팅에서는 code stylecheckstyle 을 적용해보겠습니다.

( 세팅을 진행 전 진행하던 작업들을 안전하게 종료해주세요 )


Linter

checkstyle Setup

Setting > Plugins 에 들어가서 'checkstyle'을 검색합니다.

설치 후 RESTART IDE 버튼을 눌러 Intellij를 재시작 해줍니다.

이후 Setting > Tools > Checkstyle 로 들어가서 Checkstyle 버전을 확입해줍니다.

원하는 checkstyle의 xml 파일이 있다면 여기서 import 해줍니다.
(버전에 따라서 xml파일을 import 하지 못 할 수 있다고 합니다.)

저는 기본적인 Google Checks를 그대로 사용하면 테스트 코드의 한글 메서드, javadocs의 한글 사용, 라인길이 등 컨벤션이 기본적으로 많이 깨지기 때문에 checkstyle에서 기본적으로 제공해주는 Google Checks에서 조금 수정해서 사용하겠습니다.

수정 내용은 아래와 같습니다.

  • 1줄 이상 줄바꿈 라인 제거
  • 라인의 최대길이 100 -> 120 변경
  • javadoc, method name의 내용처럼 한글이 들어갈 여지가 있는 부분 제거
  • import 관련 내용 제거
  • indent : 2 -> 4로 변경

팀에서 사용하기로 한 약속이 있다면 저처럼 적용하면 됩니다 :)


CheckStyle 사용법

CheckStyle 사용법은 두 가지가 있습니다.

  1. 원하는 파일을 Intelli에서 선택 후 검사

하단 좌측의 연필 모양을 누르면 원하는 checkstyle을 선택해서 현재 열린 파일을 검사할 수 있습니다.

(현재 저는 Beta UI를 사용하고 있어서 조금 다르지만, 기존 UI는 하단에 CheckStyle 버튼이 있을겁니다!)

검사하게 되면 현재 파일에서 컨벤션이 맞지 않는 부분을 알려줍니다.

  1. commit 시 검사하기

commit 시 옵션에 scan with checkstyle을 체크하면 전체적으로 commit 전체적으로 파일을 검사해줍니다.

또는 Review 버튼을 눌러 고쳐주면 신경쓰지 않아도 커밋 전에 검토할 수 있다고 합니다 :)

이 기능은 사용해보고 이미지 추가해놓겠습니다.


처음 설명한 대로 정적으로 분석해주는 Linter가 있다면 이번에는 정해둔 약속대로 코드를 정리 정돈해주는 Formatter를 설정해봅시다 :)


Formatter

Google Java Formatter Guide Setup

위의 문서를 참고해서 아래의 Github의 파일로 세팅을 진행합니다.

Github에 가보면 intellij-java-google-style.xml 파일이 있을텐데, 해당 파일을 다운로드 받습니다.

이후 Setting > Editor > Code Style > Java 경로로 들어가서 다운로드 받았던 파일을 Import 시켜줍니다.

이후에 저는 google style 파일을 베이스로 Linter에서 수정한 부분을 Formatter도 마찬가지로 수정해주었습니다. 수정 부분은 아래와 같습니다.

  • 라인의 최대길이 100 -> 120 변경
  • indent : 2 -> 4로 변경
  • Align when multiline 적용

이후 설정을 완료하면 이제 Formmater 설정한 대로 Code Style이 작동하게됩니다.


profile
말하는 감자🥔에서 기록도 하는 감자🥔로 거듭나기
post-custom-banner

0개의 댓글