IntelliJ 자주 사용하는 단축키 정리
IntellJ 단축키
개발자에게는 프레임워크 기술에 대한 전반적인 지식과 문제해결능력이 생산성에 가장 직결되는 요소라고 생각하지만 IDE를 잘 다루는 능력 또한 중요하다고 생각합니다.
이러한 이유로 Mac OS 환경
을 기준으로 jetbrains에서 만든 IntelliJ
에서 자주 사용하는 단축키들을 정리해보았습니다.
참고로 맥에서 command(⌘)
키는 cmd, option(⌥)
키는 alt, control(⌃)
키는 각각 다른 키인것을 안다는 가정하에 정리하였습니다.
cmd(⌘) + N
: 현재위치를 기준으로 디렉토리, 패키지 및 생성목록을 보여주는 것 이외에도 생성자/ getter/setter도 보여준다.
cmd(⌘) + P
: 해당 클래스가 인스턴스를 생성하기 위해 필요한 인자 값을 확인 가능합니다.
alt(⌥) + space
: 특정 메소드의 구현부를 보는 단축키 입니다.
alt(⌥)
: Focus를 이동할때 단어별로 이동할때는 옵션(⌥)
키를 누릅니다.
alt(⌥) + 방향 키(^)
: 해당 포커스의 단어가 선택됩니다. ^
키를 한번 더 누르면 선택이 확장 됩니다. 계층구조로 포커스의 범위가 넓어집니다.
F1
: 키를 누르면 해당 메소드나 클래스의 Doc을 보여줍니다.
Fn + 좌우상하 키
: 현재 포커스에서 좌우 상하로 쉽게 이동 가능합니다. 라인 첫/끝 이동, page Up / page Down
Fn + Shift(⇧)
: 라인 전체를 선택 가능합니다.
cmd(⌘) + [,]
: 이전 포커스 이동, 다음 포커스 이동을 하는 단축키입니다. 다른 클래스 파일에 있는 포커스에도 적용이 가능하기 때문에 클래스 단위로 이동이 가능합니다.
cmd(⌘) + F
: 현재 파일에서 특정 문자열을 찾는 단축키 입니다.
cmd(⌘) + Shift(⇧) + F
: 프로젝트 전체에서 특정 문자열 검색이 가능합니다.
cmd(⌘) + R
: 현재 파일에서 해당 문자열을 변경하는 단축키입니다. 주로 클래스 파일에서 전역변수를 바꿀때 유용합니다.
cmd(⌘) + Shift(⇧) + R
: 프로젝트 전체에서 특정 문자열 변경이 가능합니다.
control(⌃) + Shift(⇧) + R
: 현재 클래스 파일의 실행 결과를 보여줍니다.
control(⌃) + R
: 이전에 실행했던 클래스 파일의 실행 결과를 보여줍니다.
cmd(⌘) + Shift(⇧) + O
: 파일 검색을 하는 단축키 입니다.
cmd(⌘) + alt(⌥) + O
: getter, setter등 원하는 메소드를 검색하여 찾을 수 있는 단축키 입니다.
cmd(⌘) + Shift(⇧) + A
: Action(rename, theme: 등)을 검색할 수 있는 단축키로 저는 주로 파일 명을 변경할 때 사용합니다.
cmd(⌘) + E
: 최근에 열었던 파일들의 목록을 볼 수 있습니다.
cmd(⌘) + Shift(⇧) + E
: 최근에 수정했던 파일 목록들을 보여줍니다.
Ctrl(⌃) + I
: 인터페이스에 있는 추상메소드를 즉 오버라이딩 할 목록을 보여줍니다. Copy and Paste 작업을 할 필요가 없어지는 좋은 단축키입니다.
``cmd(⌘) + J` : 현재 포커스를 기준으로 나올 수 있는 라이브템플릿 축약어들을 보여줍니다. iter,inn,ifn 등이 존재합니다.
cmd(⌘) + alt(⌥) + L
: 자동으로 코드를 정렬 해주기 때문에 코드의 가독성이 향상되는 효과가 있습니다. 정말 자주 사용하는 단축키입니다.
cmd(⌘) + alt(⌥) + O
: 불필요한 Import 문을 없애주는 단축키 입니다. 마찬가지로 자주 사용되는 단축키입니다.
참고: Action(cmd(⌘) + Shift(⇧) + A) 입력 값에 optimize imports on the fly를 클릭하고 설정을 해주면 자동으로 불필요한 import 문을 없애주기 때문에 사용하지 않는 import문을 개발자가 신경을 안써도 됩니다.
Shift(⇧) + F6
: 클래스, 변수, 파라미터 이름을 일괄적으로 변경해주는 단축키 입니다.
cmd(⌘) + Shift(⇧) + F6
: 타입을 일괄적으로 변경 할 수 있습니다. 리턴타입도 자동으로 변경 됩니다.
F6
: Inner Class를 외부로 추출하거나, 다른 클래스의 내부 클래스로 이동 할 수 있습니다.
F2
: 에러가 발생한 곳으로 포커스를 이동하는 단축키 입니다.
스마트 자동 완성
Ctrl(⌃) + Shift(⇧) + Space
: 클래스의 인스턴스 생성시 나올 수 있는 클래스만 보여주는 단축키입니다. 구글링하지 않고도 들어갈 수 있는 인자값을 넣을 수 있는 장점이 있습니다.
Shift(⇧) + Space*2
: 스태틱 메소드가 자동 완성되는 단축키 입니다.
디버깅 단축키
control(⌃) + Shift(⇧) + D
: 현재 위치의 메소드에서 디버그 모드로 실행되는 단축키 입니다.
cmd(⌘) + alt(⌥) + R
: Resume 다음 브레이크 포인트로 이동하는 단축키 입니다.
F8
: Step Over 현재 브레이크에서 다음 한줄로 이동하는 단축키
F7
: Step Into 현재 브레이크의 다음 메소드로 이동하는 단축키
Shift(⇧) + F8
: Step Out 현재 메소드 밖으로 이동하는 단축키
alt(⌥) + F8
: Evaluate Expression 브레이크 된 상태에서 코드 사용하는 단축키 입니다.
Watch
: 브레이크 이후의 코드 변경을 확인하는 것으로 단축키는 없고 안경모양으로 되어 있습니다.
리팩토링 단축키
정말 IntelliJ에서 제공해주는 가장 최고의 기능 중 하나라고 생각하는 리펙토링을 자동으로 해주는... 대단히 훌륭한 기능이라고 생각해서 따로 뺐습니다. 동작하는 프로그램보다 유지보수가 쉽고 확장성에 대해서 열려있는 기능을 구현하기 위해서는 다른 개발자들이 내 소스를 얼마나 쉽게 읽고 이해 할 수 있는것도 신경쓰는게 정말 중요합니다. 그렇게 하기 위해서는 리팩토링 연습을 꾸준히 해야하는데 인텔리제이에서 제공해주는 단축키를 쓰면 습관을 들이는데 좋은 밑거름이 되지 않을까 싶습니다. 서론이 너무 길었습니다 ㅎㅎ...
cmd(⌘) + alt(⌥) + M
: extractMethod로 복잡한 반복문 같은 경우 리팩토링하여 메소드로 뽑아내는 기능입니다. 정말 꿀 같은 기능입니다.
cmd(⌘) + alt(⌥) + V
: 파라미터 변수를 생성하고 출력까지 합니다.
cmd(⌘) + alt(⌥) + P
: extractVariable 변수를 만들어서 해당 값을 저장하고 출력까지 한번에 가능한 단축키로 마찬가지로 정말 좋은 단축키입니다.
쿼리를 위한 단축키
Ctrl(⌃) + Shift(⇧) + J
: 하단에 있는 문자열을 합치는 단축키 입니다. 쿼리문 같은 문자열을 한줄로 합칠때 사용합니다.
Live Template Customizing 하는 방법
이것도 자주 사용하는 기능들을 축약어로 설정하여 빠르게 템플릿을 커스터마이징 해주는 훌륭한 기능입니다. 저 같은 경우에는 TDD를 실천하기 위해서 given, when, then 방식으로 테스트를 수행하기 위해서 tdd
축약어라는 테스트 코드를 라이브 템플릿으로 만들어 봤습니다.