IntelliJ를 $149 이상으로 활용하기

IntelliJ(인텔리제이) IDE를 개인라이센스로 사용한지 3년이 넘었습니다. 2016년 초 평소에 안드로이드 스튜디오를 사용한 뒤 강력한 기능들과 깔끔한 디자인이 마음에 들었습니다. 무료인 Community edtion도 있었고 기존에 사용하던 Eclipse와 Atom들 보다 다양하고 강력한 플러그인과 Groovy를 사용하기위해 Ultimate버전을 구독하기 시작했습니다. 당시에는 구독모델을 가진 서비스들이 적고, 일을 시작한지 얼마 되지않아 년간 16만원은 많이 부담되었습니다. 지금은 구독서비스가 많고 저 또한 많이 이용하는 편이고 연차가 쌓이면 할인율도 높아 가격도 부담이 적고 활용도도 높아져 $149 이상의 값어치를 하고있습니다. 지금은 All product pack을 사용해서 내년 8월에는 $149에 Jetbrain사의 모든 IDE를 사용할 수 있습니다.

꼭 IntelliJ 혹은 Ultimate는 답이 아니다.

만약 적은수의 파일과 소스를 수정한다면 IntelliJ는 너무 무겁습니다. 단일파일단위에 편집도 힘들고 매번 프로젝트/모듈 단위로 편집해야하며 설정 또한 복잡합니다. 편리한 플러그인들이 많아질수록 어플리케이션을 실행하는 속도는 느려지고 프로젝트가 클수록 파일들을 인덱싱하는 과정에서 많은 시간과 캐시가 소모됩니다. 그래서 저는 단일파일을 수정하기 위해선 vim을 사용하거나 IntelliJ에 해당 파일을 작업영역에 드레그 인 드롭해서 사용합니다.

강력한 단축키

Keymap OSX 10.5+를 기준으로 설명하며 기본적인 시스템 명령어도 포함되어있습니다.

Command + C : 복사
Command + V : 붙어넣기
Command + Shift + V : 복사기록 및 붙여넣기
Command + Z : 되돌리기
Command + A : 전체선택
Command + F : 파일에서 찾기
Command + Option+ F : 프로젝트에서 찾기
Command + R : 파일에서 찾기/변경
Command + Option + R : 프로젝트에서 찾기/변경
Command + W : 수정중인 창 닫기
Command + Option + L : 코드 스타일에 맞게 코드정리
Ctrl + Option + O : 미사용 import 정리
Command + Shift + A : 기능검색
Command + </>(방향) : 커서를 끝으로 이동
Shift + </>(방향) : 커서부터 선택
Option + </>(방향) : 문단단위로 커서 이동
Command + 변수, 함수 클릭 : 해당 변수, 함수로 이동
Command + Shift + O : 파일명으로 열기
Command + N + 에러선택 : 자동수정
Option + 드레그 : 세로선택

지금 사용중인 플러그인들

Nyan Progress Bar

.ignore : 다양한 ignore파일을 생성해주고 파일목록에서 구분.
Material Theme : Intellij UI를 Material 디자인으로 변경해주며 다양한 색과 아이콘을 제공
Nyan Progress Bar : 로딩화면을 귀엽게 만들어줌
그 외 번들 플러그인들

예전에는 더 다양한 플러그인들을 사용해서 효과를 봤지만 지금은 위 3개와 새로운 파일 혹은 프레임워크를 사용하면 추천해주는 번들플러그인만 사용중입니다. 다양한 플러그인들이 있어 검색하고 찾아보는 재미가 있습니다.

기본으로 제공하는 강력한 기능들

Local history
  1. 파일의 수정기록을 볼 수 있는 Local history
  2. 의존성 라이브러리 구조확인
  3. 주석에 입력된 @TODO 관리
  4. 디버깅툴
  5. 이름 변경시 참조된 항목들 일괄수정
  6. HttpRequest 기능 .http
  7. Copyright 혹은 파일 기본 포멧적용
  8. 에러/워닝 일괄수정
  9. Java/Javascript => Kotlin으로 변경
  10. 설정 백업 및 동기화
  11. Gradle task 관리

마치며

더 많은 기능과 단축키가 있지만 평소에 제일 많이 사용하는 기능들과 단축키 위주로 정리해 보았고 이정도로 충분히 가격만큼의 가치를 지닌다고 생각합니다. 혹시 추천하고 싶으신 기능과 단축키를 알려주시면 감사하겠습니다.