IntelliJ를 사용하면서 알아두면 좋은 단축키, 템플릿을 알아보자. 이 정도만 알아도 작업 속도에 많은 영향을 끼칠 것이다.
단축키
코드 Edit
프로젝트 목록으로 이동
맥: command(⌘) + 1
윈도우:
디렉토리, 패키지, 클래스 등 생성 목록 보기
맥: command(⌘) + N
윈도우: Alt + Insert
현재 실행환경 실행
맥: control(^) + shift(⇧) + R
윈도우: Ctrl + Shift + F10
이전 실행
맥: control(^) + R
윈도우: Shift + F10
-> 우측 상단 Run/Debug configurations 상자에 이전 실행 정보가 담겨 있다.
라인 복사하기
맥: command(⌘) + D
윈도우: Ctrl + D
라인 삭제하기
맥: command(⌘) + 백스페이스
윈도우: Ctrl + Y
-> 라인 삭제
라인 합치기
맥: control(^) + shift(⇧) + J
윈도우: Ctrl + Shift + J
-> 라인 합치기
-> 라인 합치기
밑에 줄을 한 줄 씩 합친다. 보통 간단한 쿼리문에서 많이 사용한다.
구문 이동
맥: shift(⇧) + command(⌘) + ↑↓
윈도우: Shift + Ctrl + ↑↓
-> 구문 이동
현재 위치를 구문 단위로 이동하되, 해당 줄이 속한 구문을 벗어나지 못한다.
(예시의 경우 println문이 메서드 안에서만 이동할 수 있다)
+) 커서를 구문에 갖다 대면 구문 전체를 이동시킬 수 있다. 특히, 메서드의 위치를 바꿀 때 편리하다.
-> 구문 이동
라인 이동
맥: shift(⇧) + option(⌥) + ↑↓
윈도우: Shift + Alt + ↑↓
-> 라인 이동
구문 관계 없이 라인 단위로 계속 이동할 수 있다.
Element 단위로 옮기기
맥: option(⌥) + shift(⇧) + command(⌘) + ←→
윈도우: Alt + Ctrl + Shift + ←→
-> Element 이동
html에서 element들의 위치를 바꿀 때 사용할 수 있다.
인자값 즉시 보기
맥: command(⌘) + P
윈도우: Ctrl + P
메서드를 일일이 확인할 필요 없이 메서드가 필요로 하는 인자를 바로 볼 수 있다.
코드 구현부 즉시 보기
맥: option(⌥) + Space
윈도우: Shift + Ctrl + I
+) Ultimate 버전은 웹 구현부도 볼 수 있다.
Doc 즉시 보기
맥: F1
윈도우: Ctrl + Q
자바 독 문서 즉시 보기
+) Ultimate 버전은 자바스크립트 mdn 문서 역시 볼 수 있다.
포커스
단어별 이동
맥: option(⌥) + ←→
윈도우: Ctrl + ←→
단어별 선택
맥: shift(⇧) + option(⌥) + ←→
윈도우: Shift + Ctrl + ←→
라인 첫/끝 이동
맥: Fn + ←→
윈도우: Home, End
라인 전체 선택
맥: shift(⇧) + command(⌘) + ←→
윈도우: Shift + Home, End
Page Up/Down
맥: Fn + 위/아래
윈도우: Page Up / Down
포커스 범위 한 단계씩 늘리기
맥: option(⌥) + ↑↓
윈도우: Ctrl + W(위), Shift + Ctrl + W(아래)
포커스 뒤로/앞으로 가기
맥: command(⌘) + [, ]
윈도우: Ctrl + Alt + ←→
과거 포커스(커서)로 이동 가능, 반대도 가능하다.
멀티 포커스
맥: option(⌥) + option(⌥) + ↑↓
윈도우: Ctrl + Ctrl + ↑↓
한 번에 지웠다 썼다 가능
오류 라인 자동 포커스
맥: F2
윈도우: F2
검색
현재 파일에서 검색
맥: command(⌘) + F
윈도우: Ctrl +F
현재 파일에서 교체
맥: command(⌘) + R
윈도우: Ctrl +R
전체에서 검색
맥: command(⌘) + shift(⇧) + F
윈도우: Ctrl + Shift + F
전체에서 교체
맥: command(⌘) + shift(⇧) + R
윈도우: Ctrl + Shift + R
정규표현식으로 검색, 교체
검색, 교체 단축키에서,
맥: Regex 체크
윈도우: Regex 체크
만약 여기서 app.js 파일의 경로를 /han에서 /replace로 바꾸고 싶다면? 단, app2.js의 경로는 바꾸면 안된다.
정규표현식에 대한 내용은 아래 글을 참고하자.
https://jojoldu.tistory.com/160
파일 검색
맥: shift(⇧) + command(⌘) + O
윈도우: Shift + Ctrl + O
디렉토리와 함께 검색도 가능하다.
메소드 검색
맥: option(⌥) + command(⌘) + O
윈도우: Shift + Ctrl + Alt + N
Action 검색
맥: shift(⇧) + command(⌘) + A
윈도우: Shift + Ctrl + A
환경 설정 등 여러 Action들을 일일이 찾아다닐 필요가 없다. 유용한 단축키
최근 열었던 파일 목록 보기
맥: command(⌘) + E
윈도우: Ctrl + E
최근 수정했던 파일 목록 보기
맥: command(⌘) + shift(⇧) + E
윈도우: Ctrl + Shift + E
자동 완성
스마트 자동 완성
맥: control(^) + shift(⇧) + Space
윈도우: Ctrl + Shift + Space
일반 자동 완성(control(^) + Space)에 비해 정말 필요한 부분만을 보여준다.
스태틱 메소드 자동 완성
맥: control(^) + Space + Space
윈도우: Ctrl + Space + Space
Getter/Setter/생성자 자동 완성
맥: command(⌘) + N
윈도우: Alt + Insert
Override 메소드 자동 완성
맥: control(^) + I
윈도우: Ctrl + I
Live Template 목록 보기
맥: command(⌘) + J
윈도우: Ctrl + J
리팩토링
변수 추출하기
맥: command(⌘) + option(⌥) + V
윈도우: Ctrl + Alt + V
-> 변수 추출하기
파라미터 추출하기
맥: command(⌘) + option(⌥) + P
윈도우: Ctrl + Alt + P
-> 파라미터 추출하기
메소드 추출하기
맥: command(⌘) + option(⌥) + M
윈도우: Ctrl + Alt + M
-> 메소드 추출하기
이너 클래스 추출하기
맥: F6
윈도우: F6
-> 이너 클래스 추출하기
이너 클래스를 다른 패키지 등으로 추출할 수 있다.
이너 클래스를 다른 클래스에서도 공용으로 사용하고 싶을 때 유용하다.
이름 일괄 변경하기
맥: shift(⇧) + F6
윈도우: Shift + F6
-> 이름 일괄 변경하기
타입 일괄 변경하기
맥: shift(⇧) + command(⌘) + F6
윈도우: Shift + Ctrl + F6
-> 타입 일괄 변경하기
return "1"; 과 같은 리턴 값은 직접 수정해 주어야 한다.
Import 정리하기
맥: control(^) + option(⌥) + O
윈도우: Ctrl + Alt + O
-> 사용하지 않는 import문을 제거한다.
그러나 이 방식은 파일마다 일일이 단축키를 눌러줘야 한다는 단점이 있다.
따라서 다음 방법을 사용하면 전체 파일의 import문을 관리할 수 있다.
Action 검색(command(⌘) +