본문 바로가기

소질없는 개발

IntelliJ code style 적용하기 (STS 사용자)

STS 에서 IntelliJ 로 전향하면서 code style 에 계속 의구심이 생겼는데..


STS 에서는 팀에서 정한 code style formatter 를 import 해서 파일 저장시 자동으로 적용되도록 해서 사용했었으나.. IntelliJ 에서는 그게 여의치 않았고, 수동으로 적용해도 STS 와 다르게 적용되는듯한 느낌이 들었으니.. 그건 다름아닌.. 아래 이유들 때문이었다.


1. 파일 저장시 자동으로 formatter 가 적용되지 않음

 - 방법 못찾음.. 계속 찾는 중 --> 방법 찾음..

 - Edit > Macros > Start Macro Recording 클릭 후 차례로 아래 키를 눌러줌

     1) Ctrl + Alt + O (import 정리)  

     2) Ctrl + Alt + L (code line 정리) 

     3) Ctrl + S (저장)

 - Edit > Macros > Stop Macro Recording 클릭 > 적당한 이름을 넣고 저장


 - File > Settings.. > KeyMap > Macros > 방금 저장한 macro 우클릭 > Add Keyboard Shortcut 선택

 - Ctrl + S 누르고 저장 > 기존에 keymap 삭제됨 OK

 - Ctrl + S 를 누르면 macro 로 지정한 것이 차례로 실행되면서 원하는 기능 동작



2. 라인 정렬 방식이 안맞음

 - STS 에서 사용하던 formatter xml 파일을 File > Settings > Editor > Code Style > Java > Scheme 옆에 설정 버튼을 눌러 import 

 - Ctrl + Alt + L 을 눌러 수동으로 정렬시킴



3. import 구문이 아스테리크(*) 로 묶임

 - Ctrl + Alt + O 를 누르면 자동으로 import 구문이 적용되는데.. 동일 패키지의 하위 패키지가 여러개 import 되면 * 로 묶임 ㅠ

 - File > Settings > Editor > Code Style > Java > Imports > Class count to use import with '*' : 기본 5였으나 10으로 바꿈, Names count to use static import with '*' 도 기본 3이었으나 10으로 바꿈.

 - Ctrl + Alt + O 를 눌러서 적용



 4. import 순서가 다름

 - Eclipse Formatter Plugin 을 설치하면 된다는데.. 포기



팀 전체가 IntelliJ 를 사용하기로 하였으나 아직 완전히 변경한 상태가 아니어서.. 

STS 사용자가 저장한 파일을 IntelliJ 사용자가 저장하면 코드를 수정하지 않아도 변경사항이 생기는 상황..

당분간은 IntelliJ 로 코딩하고, STS 로 읽어서 저장하고(code style 적용), git 커밋 하기로..