일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- standard output
- 공짜블로그
- Convariance
- standard input
- image resizer with go
- resizer 구현
- 코틀린 in
- https 실습
- output stream
- InnoDB
- JPA
- 객체지향
- Test
- 자바
- ruby
- Pitest
- cli 만들기
- 돌연변이 테스팅
- IntelliJ
- 개인블로그 hugo
- https implement
- Java
- https 서버 구현
- Mutation testing
- kotlin
- 코틀린
- https go
- resize image with go
- 코틀린 out
- MySQL
- Today
- Total
Rlog
[Intellij] Save Actions 를 이용한 자동 포맷팅 본문
코드를 작성하다 보면 포맷팅의 일관성이 무너지고는 합니다.
그래서 JavaScript 에서는 Prettier 를 통해서 Indent 나 Tab Size 를 맞추는데요.
Intellij 에서는 Java 에서 자동 포맷팅을 편하게 이용하는 방법이 있습니다.
일단 Preference(설정) - Plugin 에서 Save Actions 를 설치해줍니다.
일단 이 플러그인은 간단하게 설명해서 저장 키 (cmd + s 또는 ctrl + s ) 키를 눌렀을때 특정 액션을 트리거 해주는 플러그인 입니다.
우리는 이 트리거에 저장키를 누르면 코드를 다시 재 배열 해주는 기능을 이용할 것입니다.
만약 설치가 된다면 Intellij 를 다시 재시작 해주시길 바랍니다.
이제 저장했을때 코드를 재배열해주는 기능을 장착하기 위해서 아래와 메뉴로 이동해야 합니다.
Tools - Save Actions 로 이동합시다.
위 사진과 같이 위의 세개를 체크 해줍시다.
그 이유는 저장을 눌렀을때 Reformat Code(코드 포맷팅 다시하기), Optimize imports(쓸모없는 임포트 제거 및 합치기), Rearrange Code(코드 재배열하기) 기능을 이용하기 위해서 입니다.
Apply 를 눌러 적용해줍시다.
이제 트리거에 대한 설정은 끝났습니다. 하지만 우리가 어떤 규격으로 코드를 재 포맷팅을 해야하는지 알려줘야 하므로 규격을 포맷팅해주러 갑시다.
Code Style - Java 로 이동해줍니다.
여기보면 Tab size 나 indent 등을 설정할 수 있는데요.
저는 기본적으로 제가 따로 설정을 해두진 않고(팀에서 설정하지 않는 이상?) 아래와 같이 안드로이드 규격을 이용합니다.
여기서 Android 쓰실 분들은 클릭하셔주시고 저장만 해주시면 됩니다. (기본으로 안드로이드로 설정되어 있어서 저장이 안될수도 있기에 Apply 가 활성화 되지 않는다면 Ok 를 누르고 닫아주시면 됩니다.)
이제 한번 포맷팅이 잘 작동하는지 확인해봅시다.
Tab size 를 일부러 10칸이상 띄어봅니다.
우리의 규격 Tab Size 는 4이므로 저장 버튼 (cmd + s 또는 ctrl + s) 를 누르면 재 포맷팅 되어야 합니다.
완벽하게 재 포맷팅 되는 모습을 확인할 수 있습니다.
부트캠프 시절 포맷 관련해서 리뷰를 많이 받았었는데 이렇게 자동화를 통해서 포맷팅 리뷰를 받는일이 없도록 합시다.
다음에는 자동 포맷팅 고급 설정 관련으로 글을 적어보겠습니다.
'Java' 카테고리의 다른 글
Jackson Databind 에서 is, get, set 을 이용하면 자동으로 값으로 인식하는 이유 (0) | 2022.03.22 |
---|---|
[StackOverflow] 왜 자식생성자에서 super() 를 써야 하는가? (0) | 2022.02.03 |
[Spring Batch] Batch Info Table 수동 생성하기 (0) | 2021.12.12 |
객체지향 체조 (0) | 2021.11.28 |
객체지향) 객체의 역할, 책임, 협력 (2) | 2021.11.24 |