들어가며
Intellij IDEA 를 이용해서 Java(Spring) 개발을 하면서 설정을 하면 좋은 것과 유용한 plugin 모음
Plugin
DbUnit Extractor
- DbUnit 테스트를 진행을 하면 DB 의 데이터를 쉽게 xml 로 변환을 하고 싶을 요구가 생길때가 있다. 이때 사용하면 괜찮은 plugin
- DBUnit 과 이 plugin 에 대해서 자세히 알고싶다면 링크 참고 (DBUnit)
Flyway Migration Creation
- Flayway 를 사용을 하면 자동으로 버전된 sql 파일을 만들고 싶을때가 있다. 이때 사용하면 좋은 plugin
GitToolBox
- 가끔 내가 어떤 branch 에서 작업을 하고 있는지 모르고 develop, master 등에 작업을 하고 습관적으로 push 하는것을 예방을 하고 현재 branch 를 알려주는 plugin
- branch 별로 pull / push 할 것이 있는지도 알려준다.
- 그 이외에도 추가적으로 많은 기능이 있지만.. 저는 주로 이 기능만 써요
Grep Console
- 무조건 필수.. 이거 없으면 intellij console log 볼때 너무 힘들어요
Lombok
- lombok 을 사용한다면 필수
Rainbow Brackets
{ ... }
,(((( ... ))))
가 많다면 무지개색상으로 구분을 해준다.
Sexy Editor
- editor 배경화면을 언어별로 설정을 할 수 있다.
SonarLint
- sonarqube 를 사용을 한다면, intellij 에서 분석을 돌려 볼 수 있다.
String Manipulation
- string 관련 반복성 작업에 대한 변경작업이 필요 할때 유용한 plugin
Upsource Integration
- upsource 를 이용하여, code review 를 한다면 필수 plugin
Kotlin Code Sorter
- kotlin 코드를 일관성 있게 정렬 해줌
kotlin fill class
- kotlin 에서 객체 생성을 할 때 사용, parameter 를 자동으로 넣어 줌
Ktlint
- 코틀린 개발시 코딩 컨벤션을 유지하게 도와 줌
Save Actions
- 코딩 컨벤션 위반시 소스코드 저장시 에러를 발생시켜 강제로 코딩컨벤션을 유지하게 해줌
[미사용] Advanced Java Folding
- Java code 를 읽기 쉽게 변환해 준다.
- 미사용 이유: 코드리뷰시 이 plugin 을 사용하지 않은 사람은 문법적 오류로 오해를 하는 경우가 있음
[미사용] Material Theme UI
- 뭔가 화려한 intellij theme 를 원한다면 좋은 plugin
- 미사용 이유: 유료화 됨, 돈을 내고 사용할만큼은 아닌듯 무료인 Lite 버전도 있음
Setting
Preferences new projects
- 새로운 프로젝트를 열거나 만들때, 기본적으로 설정해야하는 것들이 있다.
- 대표적으로
Preferences | Build, Execution, Deployment | Compiler | Annotation Processors
에Enable annotation processing
이다. File -> Other Settings -> Preferences new projects...
라는 메뉴가 있다.- 에서 설정을 해주면 신규 프로젝를 생성을 할때 기본값으로 설정 할 수있다.
Font
- 요즘에는 D2Coding 보다는 monoLisa 사용 중
- [미사용] D2coding 몇가지 서체를 써봤지만, 한글도 잘 나오고 개발에 필요한
i,I,l
와0, O
구분이 명확한다
Gradle
- path:
Build, Execution, Deployment | Build Tools | Gradle
- IntelliJ IDEA 특정버전에 gradle 로 변경되었다.
- Intellij 에서 TestCode 실행시, 기대결과가 틀려도 Read, 에러가 나도 Red 로 표시된다.
- 기대결과가 틀렸을 때, Yellow 로 표시하고 싶다면
Intellij IDEA
로 변경한다.
Annotation Processors
- path:
Preferences | Build, Execution, Deployment | Compiler | Annotation Processors
에Enable annotation processing
Task
- path:
Preferences | Tools | Tasks
- 회사에서는 jira 를 사용하고 있다.
- jira 의 이슈번호를 이용해서 git feature branch 를 생성을 하고, jira ticket 번호를 commit message 를 넣어야 한다면 설정하면 좋다.
- Changelist name format:
${id} ${summary}
Version control
에 있는Local Changes
에 changelist 를 자동으로 만들어 준다.
- Feature branch name format:
feature/${id}
- 자동으로 지정된 format 으로 branch 이름을 만들어 준다.
Preferences | Tools | Tasks | Servers
여기로 가서 jira 서버 설정을 해주면 된다.
Issue Navigation
Preferences | Version Control | Issue Navigation
- 이전회사와 현 회사에서 git commit 을 할 때, jira 번호를 필수로 넣고 있다. 이 기능을 활성화 하면, git log 를 볼 때 바로 jira 내용으로 이동을 할 수 있다.
- Issue ID: [A-Z]+-\d+
- Issue Link: https://jira.woowa.in/browse/$0
- git commit 시에
[
,]
으로 jira 번호를 감싸고 있다.
- git commit 시에
Spock(groovy) 에서 자동으로 변수를 만들 때 def 가 아닌 정확한 타입으로 명시하기
- groovy 에서 변수를 자동으로 생성을 하면
def
라는 type 으로 생성이 된다. ** 이때shift+tap
을 눌러 def 로 포커스를 변경을 한다음에 해당 변수의 정확한 타입으로 변경을 하면 그 다음부터는 기억을 해서 모든 변수 생성시에 정확한 타입으로 생성이 된다.