포스트

인텔리제이 코드 포매터가 자동 수정말고 경고만 띄우게 하기

인텔리제이 코드 포매터가 자동 수정말고 경고만 띄우게 하기

해당 포스팅을 읽으면:

인텔리제이 IDE에 코드 포매터를 기반으로 한 검사 옵션을 활성화 해서 코딩 컨벤션을 지킬 수 있어요.


Environments

  • IDE: IntelliJ Ultimate 2025.1.5.1

1. 서론

우아한테크코스 8기 프리코스를 함께하는 러키님의 블로그 글을 통해 Java Style Guide 컨벤션을 인텔리제이가 자동으로 맞춰주는 방법에 대해 배웠어요!

그런데 저는 한 가지 욕심이 생겼어요.

파일을 저장하기만 하면 자동으로 컨벤션에 맞게 고쳐주니까 참 좋네!

그런데, 어떤 부분이 컨벤션을 위반했는지 내가 인지할 수 있어야, 다음에 같은 실수를 저지르는 것을 방지할 수 있지 않을까?

즉, IDE가 자동으로 고쳐주는 것이 아니라, 내가 틀린 부분을 알려주게만 할 수는 없을까?

당장 실무에 투입되어 기능을 개발하는 것을 최우선 순위로 해야 된다면 컨벤션 관련한 부분은 인텔리제이에게 완전히 맡기는 것이 좋겠지만, 지금은 처음 겪는 모든 상황을 몸으로 느끼고, 학습해야 되는 상황이잖아요.

그래서 조금 번거롭더라도 최소한 이번 주차 동안에는 컨벤션을 위반한 부분에 대한 ‘자동 수정’이 아니라, ‘내가 인지하고, 수정하기’를 해야겠다고 판단했어요.

어떤 기술(예. 포매터의 자동 수정)의 효과를 절실히 느끼고, 배우기 위해서는 해당 기술의 등장 이전에 겪던 불편함을 경험해보는 것이 좋다는 제 평소 생각이 반영된 부분이기도 해요.

그래서 이번 포스팅에서는 코딩 컨벤션이 정의된 xml 파일을 사용하되, IDE가 자동으로 고쳐주는 것이 아니라 경고만 띄워주고 내가 직접 수정할 수 있도록 하는 방법에 대해서 소개하려고 해요.

2. 본론

우아한테크코스가 제공하는 구글 Java Style Guide 기반의 코드 포매터를 인텔리제이 IDE에 적용하는 방법은 이 글을 참고해주세요! (IDE가 자동으로 코드를 수정하게끔 하는 7번 설정을 제외하고, 그 이전까지의 설정을 동일하게 완료해주세요)

제가 작성하는 글에서는 위 글을 참고하여 IDE에 포매터 설정 파일을 적용 완료했다는 가정하에, IDE가 컨벤션 위반에 대한 경고를 띄우게 하는 방법만 다뤄요.

만약 필요한 설정을 하지 않으신 분이라면 반드시 위 글을 먼저 읽고 기본 설정을 마쳐주세요.

2.1. IDE의 insepection 기능 활성화하기

intellij-insepection-incorrect-formatting-enable

인텔리제이의 설정(Settings, 단축키: 윈도우(Ctrl + Alt + S) 맥(Command + ,)) 창으로 이동한 뒤 위 사진처럼 설정을 마치면 끝이에요!

경고 종류는 자율적으로 설정하시면 되는데, 제 경우에는 컨벤션을 위반했다는 사실을 확실히 인지하기 위해 강력한 경고인 Error로 설정했어요.

result-of-inspection

설정을 완료하면 즉시 IDE에 반영이 되는 모습이에요(만약 그렇지 않다면 IDE를 재실행 해주세요). 코드를 작성하면서 흔히 위반할 수 있는 컨벤션에 대해서 경고를 띄워주는 모습이네요.

2.2. 마크다운은 검사하지 않기

기본적으로 위 설정을 마치면, insepection의 스코프가 Everywhere else로 설정되어 마크다운까지 검사하게 되면서 무수한 오류가 뜨게 되는데요. 이를 해결하기 위해서는 다음과 같이 스코프에 ProductionTests로 설정하고, 기존의 스코프이던 Everywhere else는 해제해주면 됩니다!

edit-insepection-scope-enable

edit-insepection-scope-disable

3. 결론

코딩 컨벤션을 온전히 IDE에게 맡기지 않고, 스스로 인지할 수 있을 정도의 도움만 주도록 설정해봤어요.

무언가에 익숙해지기도 전에 자동화로 처리하는 방식이 내키지 않는 분이라면 저와 같이 직접 수정하는 것부터 시작해봐요!

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.