본문 바로가기

개발/Etc.

[Jetbrains] IntelliJ 코딩 습관을 고쳐줄 필수 플러그인 (Pycharm, Android Studio 등)

반응형

당신의 코딩 습관을 고쳐주고 코드의 퀄리티를 높혀줄 IntelliJ 필수 플러그인

 

그것은 바로 'SonarLint' 

 

 

SonarLint - IntelliJ IDEs Plugin | Marketplace

SonarLint is a free IDE extension to find and fix coding issues in real-time, flagging issues as you code, just like a spell-checker. More than a linter, it also...

plugins.jetbrains.com

 

많이들 익숙할 수 있는 소스 정적 분석 도구인 SonarQube와 같은 역할을 할 수 있다고 볼 수 있지만

SonarLint만 단독으로 사용하면 기본적인 Rule Set으로만 사용이 가능하다

하지만 SonarQube 서버 혹은  SonarCloud를 사용한다면 SonarLint와 연동이 가능하다

 

위 Jetbrains Marketplace에서 자세한 내용을 볼 수 있다

 

 

 

 

 

IntelliJ IDEA 뿐만 아니라 Jetbrains의 Android Studio, AppCode, CLion, DataGrip, GoLand, PhpStorm, PyCharm, Rider, RubyMine, WebStorm에서도 사용이 가능하다

 

그리고 Eclipse, Visual Studio, VS Code 등 다양한 IDE에서 사용이 가능하고

다양한 IDE를 지원함에서 유추할 수 있지만 Java, Python, C#, Javascript, XML, HTML...

아주 다양한 소스 코드의 분석이 가능하다

 

필자는 IntelliJ를 신봉하고 있는 상태에 놓여있기 때문에

IntelliJ의 화면을 기준으로 글을 써내려가려고 한다

 

 

 

 

IntelliJ의 Settings -> Plugins에 들어가서 'SonarLint'를 검색하면 아주 손쉽게 설치가 가능하다

 

 

 

설치 후 재시작을 하면 하단에 SonarLint 메뉴가 생겨나고

현재 활성화가 되어있는 소스의 문제를 찾아 'Current File' 탭에 표시해준다

 

열어둔 pom.xml 파일에 주석처리된 코드 3군데가 있는데 그 부분을 문제로 삼고있는 모습이다

더블클릭을 하면 문제의 위치로 이동하는 섬세함을 갖추고 있다

 

반응형

 

 

 

Current File이 아닌 프로젝트 내 전체 파일을 검사하려면

프로젝트 Root를 선택하고 'Ctrl + Shift + S' 혹은

프로젝트 Root에서 우클릭 후 SonarLint -> Analyze with SonarLint 메뉴를 클릭한다

 

그럼 위와 같은 Dialog가 나타난다

성질이 급한 편이라면 다음을 위해 Don't show again을 클릭 후 Proceed 버튼을 클릭하고

그렇지 않다면 그냥 Proceed 버튼을 클릭한다

 

 

그러고 소스 파일의 수나 크기에 따라 유동적인 시간이 지나면

하단 SonarLint 메뉴의 Report 탭에서 전체 소스의 문제를 확인 할 수 있다

 

 

각각의 Issue를 클릭하면 오른편 Rule에서 자세한 내용과 함께 해결책을 알아낼 수 있다

소스 코드를 작성하면서 실시간으로 문제점을 파악할 수 있기 때문에 다양한  코딩 습관들이 고쳐지고

소스의 품질이 점점 향상됨이 느껴진다

 

 

마지막으로 Settings -> Tools -> SonarLint -> Project Settings에 들어가보면

처음에 언급했던 SonarQube, SonarCloud와 연동이 가능하다 (연동하지 않아도 기본 Rule Set으로 사용이 가능하다)

 

SI 프로젝트를 진행하면서 WBS에 소스 정적 진단이 잡혀있다면, 그리고 꼭 그렇지 않은 경우라도

개발을 진행하는 중에 SonarLint를 통해 실시간으로 개발자 개개인의 소스 품질을 높혀보는 것도 좋은 방법인 것 같다

 

 

반응형