본문 바로가기
Tools

[IntelliJ] SonarLint 플러그인 설치 및 사용법

by A6K 2023. 4. 28.

정적 코드 분석(Static Program Analysis)은 프로그램의 실행없이 소스코드나 오브젝트 파일을 통해 소프트웨어를 분석하는 것을 말한다. 소스코드에 숨어있는 잠재적인 버그, 구조적인 문제, 코드스멜을 찾아 버그를 줄이는데 도움이 된다.

인텔리제이에는 SonarLint라는 플러그인이 있는데 SonarQube라는 프로젝트를 기반으로 만든 정적 코드 분석 플러그인이다. SonarQube는 별도의 서버가 필요하다. 젠킨스 팜 같은 것과 연동해 프로젝트 전체에 대한 정적검사를 할 수 있다는 장점이 있지만 SonarQube만을 위한 환경을 구축하는게 다소 귀찮다. 또 한, 커밋 이후 PR 단계까지 넘어가야 분석이 가능하기 때문에 정적 분석의 피드백을 반영하는데에 다소 시간이 걸리기도 한다.

SonarLint는 로컬 개발환경에 플러그인으로 적용할 수 있는 가벼운 정적 분석기다.

SonarLint 플러그인 설치

Settings > Plugins > Marketplace 에서 SonarLint를 검색한다.

Install 버튼을 눌러 플러그인을 설치한다. 설치가 완료되면 인텔리제이를 재시작한다.

SonarLint 플러그인 사용법

SonarLint 플러그인을 설치하면 SonarLint 윈도우가 생긴다. (없으면 View > Tool Windows > SonarLint를 선택해보자)

현재 작업중인 소스코드에서 검출되는 코드스멜이나 잠재적인 버그 등을 검출해준다.

친절하게 어떤 부분에 문제가 생길 가능성이 높은지 알려준다. 기본적으로 에디터에서 소스코드 부분을 하이라이트해주므로 코드스멜이 있으면 거슬리게 되어 있다. 특정 부분의 코드에 문제가 있음을 알려주고, 친절하게 왜 문제가 있다고 판단했는지와 어떻게 코드를 수정하면 되는지 예를 들어서 잘 알려준다.

별도로 정적 분석을 실행시키지 않고 변경을 커밋할 때 액션으로 추가할 수도 있다. 인텔리제이의 커밋 설정에 Perform SonarLint analysis 항목이 생긴다. 이를 선택하면 커밋 할 때 코드 분석을 해준다.

댓글