티스토리 뷰
이번에는 인텔리제이를 사용할 때 유용한 설정 및 플러그인 등을 정리하였습니다.
1. 인텔리제이 설정
[ Author와 Usages 설정 ]
개발을 하다 보면 어떤 코드를 누가 작성했는지, 얼마나 사용되고 있는지 파악하고 싶을 때가 있다. IntelliJ에서 제공하는 기능을 사용하면 코드 위에 이를 표시해준다.
- Preferences > Editor > Inlay Hints > Code vision > Usages
- Preferences > Editor > Inlay Hints > Code vision > Code author
[ Annotate with blame 설정 ]
개발을 하면서 어느 코드를 누가 언제 작성했는지 확인해야 할 때가 있다. Annotate with Blame을 설정하면 이를 손쉽게 파악할 수 있다.
Annotate with Git Blame을 단축키(Control + Shift + A)로 설정해주면 해당 탭을 손쉽게 제어할 수 있다.
[ 개발용 이음자(Ligature) 설정 ]
개발을 하면서 작성하게 되는 != 과 같은 표현식을 사용하게 되는데, 이는 직관적이지 못하다. 인텔리제이는 우리에게 익숙한 이음자(Ligature)로 문법을 표현해주는 기능이 있는데, 설정해주면 직관적이라 유용하다.
- Preferences > Editor > Colors & Fonts > Font > Enable font ligature
[ LiveTemplate 설정 ]
개발을 하면서 자주 사용되는 키워드들이 있다. 해당 키워드들은 미리 만들어 두면 시간을 줄일 수 있다. 개인적으로는 private final String과 같이 자주 사용되는 부분들을 Live Template으로 만들어서 사용하고 있다.
- Preferences > Editor > Live Templates > Java
예를 들어 테스트를 아래와 같은 구조로 많이 작성하는 경향이 있다.
@Test
void MangKyu() {
// given
// when
// then
}
이러한 템플릿을 자동화하려면 이러한 내용을 등록해주면 된다.
@org.junit.jupiter.api.Test
void $END$() {
// given
// when
// then
}
[ Run with Coverage 설정 ]
개발을 하면서 코드의 테스트 커버리지를 확인할 일이 매우 자주 있다. 인텔리제이의 테스트 커버리지 측정 기능을 단축키로 설정해두면 매우 편리하다. 현재 코드를 실행하는 단축키가 Ctrl + Shift + R이므로, 커버리지를 측정하는 기능(run with coverage)를 Ctrl + Shift + C로 설정해두면 편리하게 실행할 수 있다.
[ Semantic highlighting 설정 ]
사용되는 변수들이 많아질 때, 같은 변수들을 같은 색으로 보여주는 기능이 있다. 아래와 같이 설정해주도록 하자. (개인적으로는 정신이 없어서 사용하다가 다시 비활성화 해두었다.)
- Preferences > Editor > Color Scheme > Language Defaults > Semantic highlighting
[ Anaylze Dependency Matrix 설정 ]
개발을 하다 보면 패키지 혹은 클래스의 의존성을 확인해야 하는 경우가 있다. 인텔리제이는 Analyze Dependency Matrix라는 기능을 통해 의존성을 분석할 수 있도록 도와준다. 해당 패키지 혹은 클래스를 클릭하면 다른 곳에 얼마나 의존하고 있는지를 파악할 수 있다. 예를 들어 아래의 controller 패키지는 MembershipException을 1번, MembershipErrorCode를 3번 의존하고 있다는 것이다.
이를 단축키(Control + Shift + M)로 등록해두면 편리하게 사용할 수 있다.
[ 코틀린 move instance method 리팩토링 기능 활성화 ]
특정 클래스에 있는 메소드를 다른 클래스로 옮기고 싶은 경우가 많이 있다. 인텔리제이에서 자바는 이를 기본으로 제공하지만 코틀린은 이를 활성화해주어야 한다. 따라서 먼저 Command + Shift + A를 입력하여 Actions 탭 열고 Registry 설정 화면으로 들어간다.
그리고 kotlin.enable.move.method.refactoring 기능을 체크해주도록 하자.
해당 기능은 리팩토링 관련 필수 기능이며 매우 유용하게 사용되는 기능 중 하나이므로 코틀린을 사용중이라면 반드시 설정해주도록 하자. 만약 해당 기능에 대해 알지 못한다면 해당 포스팅을 참고하도록 하자.
[ JIRA 연동하기 ]
Tools > Tasks > Servers 에서 JIRA와 같은 개발 도구들을 연동할 수 있다.
JIRA를 연동하면 다음과 같이 나에게 할당된 태스크(task)들을 조회하고, 할당된 이슈를 기준으로 브랜치를 빠르게 생성할 수 있다.
그러면 Option + Shift + N 단축키를 통해 다음과 같이 빠르게 브랜치를 생성할 수 있다.
[ 기타 단축키 추가 설정 ]
- Create Pull Request : Command + Option + 0
- Open Pull Request: Command + Option + 9
- Close Other Tabs: Command + W
- Version Control Systems > Git > Pull: Command + Enter
- Version Control Systems > Git > Fetch: Command + Shift + Enter
2. 인텔리제이 플러그인
[ JPA Buddy 플러그인 ]
Jetbrains에서 기존에 유료였던 JPA Buddy 플러그인을 인수하면서, 해당 플러그인을 무료로 이용할 수 있게 되었다.
오늘날에는 대부분 데이터베이스 접근 기술을 위해 JPA를 사용하고 있는데, 이때 JPA Buddy 플러그인을 사용하면 많은 도움을 받을 수 있다.
대표적으로 Entity들 간의 관계와 그에 따른 Repository들을 확인할 수 있다. 따라서 직접 코드를 헤집지 않아도 Entity와 Entity에 대한 Repository들을 조회할 수 있는 것이다.
또한 Entity가 존재한다면, Entity에 대한 Repository 역시 손쉽게 생성할 수 있다.
마지막으로 다음과 같이 Entity Diagram을 생성하여 관계를 확인할 수 있을 뿐만 아니라, 해당 엔티티에서 코드로 바로 넘어갈 수도 있다.
[ Tab Shifter 플러그인 ]
TDD로 개발을 하다 보면 한쪽에는 테스트 코드를, 한쪽에는 프로덕션 코드를 두고 개발을 하는 경우가 많이 있다.
또한 테스트 코드를 작성하다가 프로덕션 코드로 넘어가는 등 두 탭 간에 커서(포커스)를 옮겨야 할 때가 많다. Tab Shifter 플러그인을 선택하면 이를 매우 편리하게 제어할 수 있다. 개인적으로는 플러그인에서 커서를 옮기는 단축키를 Control + Option + Command + [ 와 Control + Option + Command + 로 설정해두었다. 그러면 화면 분할과 커서 이동을 최대한 일치하게 사용할 수 있다. 개인적으로 매우 유용하게 사용하고 있고, 권장하고 싶은 플러그인이다.
- 좌측으로 화면 분할: Control + Option + [
- 우측으로 화면 분할: Control + Option + ]
- 좌측 탭으로 포커스 이동: Control + Option + Command + [
- 우측 탭으로 포커스 이동: Control + Option + Command + ]
참고로 현재 최신 버전인 0.34 에서는 버그가 있어서 제대로 동작하지 않는다. 따라서 해당 플러그인 페이지에 접속해서 0.33 버전의 zip 파일을 다운로드 받은 후에 install from disk로 설치해주도록 하자.
[ Rainbow Brackets 플러그인 ]
개발을 하다 보면 괄호문이 여러개 사용된다. 열고 닫히는 괄호문을 표시해주는 Rainbow Brackets 플러그인을 설치하면 유용하다.
[ Key Promoter X 플러그인 ]
빠르게 개발을 하기 위해서는 단축키가 매우 중요하다. 하지만 인텔리제이에는 수많은 단축키가 존재해서, 이를 일일이 파악하는 것은 어렵다. Key Promoter X를 설치하면 내가 사용하는 기능의 단축키가 존재할 경우, 이를 표시해준다. 심지어 단축키를 설정하도록 도와주기도 한다. 그러므로 단축키를 적극 사용하기 위해 설치해주도록 하자.
[ CamelCase 플러그인 ]
개발을 하다 보면 카멜 케이스를 스네이크 케이스로 혹은 그 반대로 변환해야 하는 경우가 있다. CamelCase 플러그인을 설치하면 단축키(Option + Shift + U)를 통해 이러한 변환을 손쉽게 할 수 있도록 도와준다.
[ String Manipulation 플러그인 ]
그 외에도 더욱 정교한 문자열 조작이 필요한 경우에 사용할 수 있는 플러그인도 있다. 가능한 거의 모든 기능들을 제공해주고 있어서, 문자열과 관련된 작업이 많다면 해당 플러그인을 사용해주는 것이 좋다.
[ RestfulHelper 플러그인 ]
개발을 하다 보면 API URL을 검색해야 하는 경우가 있는데, 이때 RestfulHelper를 사용하면 편리하다.
URL 검색 단축키(Command + \)를 사용하면 다음과 같이 원하는 URL을 쉽게 찾을 수 있다.
[ Git Auto Prefix 플러그인 ]
현재 회사에서는 커밋 기록이 "[이슈번호] 메세지" 형식으로 맞춰져야만 머지를 할 수 있다. 따라서 브랜치의 이슈번호를 커밋 prefix로 자동으로 붙여주는 Git Auto Prefix 플러그인을 사용하고 있다.
[ Kotlin Fill Class 플러그인 ]
해당 플러그인을 사용하면 코틀린 객체를 생성할 때 임의로 필드를 채울 수 있다. 테스트용 객체를 생성하거나, 파라미터의 이름을 모두 채울 때 매우 유용하게 사용할 수 있다.
[ Randomness 플러그인 ]
무작위로 생성된 값이 필요한 경우에는 해당 플러그인을 사용할 수 있다. 임의의 UUID와 같은 값을 필요로 하는 경우라면 해당 플러그인을 통해 빠르게 무작위 값을 생성할 수 있다.
[ Full Line Code Completion 플러그인 ]
IntelliJ 2024.1 버전부터 AI 기반이며, 로컬에서 처리되는 전체 줄 코드 완성 기능이 추가되었다. AI Assistant와 마찬가지로 모두 작업 속도를 높이는 데 목표를 두고 있으며, 플러그인 설치 후에 다음의 설정 화면에서 on 시킬 수 있다. 참고로 해당 기능은 인터넷 통신을 사용하지 않으며, 학습을 위한 데이터로 수집되지 않아 안전하다.
이후에는 아래 이미지에서 가장 아래 보이는 Enable Full Line suggestions를 활성화해주면 된다. 개인적으로는 추천의 속도를 기다리는 것 대비 시간이 절약되지 않는 것 같아서 자주 활용하지는 못하는 것 같다.
[ JetBrains AI Assistant 플러그인 ]
JetBrains AI Assistant 플러그인을 사용하면 AI 기반의 코드 작성을 도움받을 수 있다. 참고로 이는 유료 라이센스가 필요하다.
JetBrains AI Assistant을 활용하면 현재 코드에 대한 설명 뿐만 아니라 리팩토링 및 테스트 코드 작성 등 많은 부분에 있어 AI의 도움을 받을 수 있다. JetBrains 전용 코딩을 위한 GPT라고 볼 수 있다.
[ multi-project workspace 플러그인 ]
IntelliJ가 제공하는 플러그인 중에 multi-project workspace라는 플러그인이 있다. 해당 플러그인을 활용하면 서로 다른 여러 개의 프로젝트를 하나의 workspace에서 관리할 수 있어서 매우 유용하다. 개인적인 경험으로 VCS 작업도 IntelliJ에서 하여 브랜치 전환 등을 할 때 속도가 조금 느린 부분이 있는데, 그래도 매우 유용하다. 해당 플러그인을 적용하면 그림과 같이 여러 프로젝트를 하나로 관리할 수 있다.
[ LangCursor 플러그인 ]
한국인이라면 한글 입력과 영어 입력을 번갈아가며 해야 하는 상황이 자주 있다. 그러다가 다시 작업을 시작할 때, 현재 키보드가 한글 입력 상태인지 영어 입력 상태인지 구분이 어려운 경우가 많다. 이때 LangCursor 플러그인을 사용하면 커서색을 보고 현재 어떤 입력 상태인지를 손쉽게 구분할 수 있어 용이하다. 예를 들어 현재 커서는 빨간색이므로, 키보드 입력 시에 한글이 입력될 것이라고 예상할 수 있다. 해당 플러그인이 없었다면 직접 타이핑을 해주고 지워야 해줄텐데, 색으로 키보드 입력 언어를 구분하여 매우 유용하게 사용할 수 있다.
그 외에도 로그 레벨에 따라 색깔을 다르게 보여주는 Grep Console이나 Git Ignore를 도와주는 Git Ignore 플러그인 등도 있습니다. 혹시 필요하시다면 설치해보시면 좋을 것 같습니다. 그리고 위에 언급해둔 설정 외에도 편리한 설정이나 플러그인이 있다면 공유해주세요! 확인 후에 업데이트 하도록 하겠습니다ㅎㅎ
관련 포스팅
- 자주 사용되는 인텔리제이(IntelliJ) 단축키 모음(맥북, Mac OS)
- 유용한 인텔리제이 설정 및 플러그인 정리
- 유용한 인텔리제이 기능 모음(IntelliJ)
참고 자료
'끄적끄적' 카테고리의 다른 글
[업무] 일론 머스크의 생산성을 위한 법칙들 (0) | 2023.04.25 |
---|---|
[회고] 2022년 회고 및 2023년 목표 설정 (35) | 2022.12.27 |
[생각정리] 우아한 형제들의 "잡담이 경쟁력이다"와 함께 자라기의 "심리작 안전감" (0) | 2022.05.16 |
[회고 및 목표] 2021년 회고 및 2022년 목표 설정 (28) | 2022.01.07 |
[취업 준비] 신입 개발자 알고리즘 팁 정리 및 문제 추천 (25) | 2021.08.08 |