2020. 4. 20. 16:55ㆍJava
최근에 대부분의 프로그래밍을 페어로 진행한다. 새로운 페어와 프로그래밍을 하면 가장 먼저 눈에 들어오는 것이 그 사람이 사용하는 단축키다. 자연스럽게 서로 사용하는 단축키들을 공유하게 된다. 그렇게 두 달 정도 새로운 단축키를 익혀서 사용하니, 예전에 단축키를 사용하지 않을 때는 어떻게 프로그래밍을 했나 싶을 정도로 편하다. 언제 가는 키보드에서 손을 떼지 않고, 모든 작업을 할 수 있을 날이 올 수 있겠지. 아래는 내가 자주 쓰는 단축키들이다. 자신이 사용하는 편리한 단축키가 있다면 공유해보는 것도 좋을 것 같다.
커서 관련 단축키들
Mac | Window | |
단어 단위 이동(선택) | Opt + (Shift) + ← → | Ctrl + (Shift) + ← → |
라인 처음/끝으로 이동(선택) | Cmd + (Shift) + ← → | (Shift) + Home/End |
Page Up/Down | Fn + ↑↓ | Page Up/Down |
범위 늘려가며(줄여가며) 선택하기 | Opt + ↑↓ | Ctrl + W / Ctrl + Shift + W |
멀티 포커스 | Opt + Opt(누른상태로) + ↑↓ | Ctrl + Ctrl(누른상태로) + ↑↓ |
라인 복사 / 잘라내기 | Cmd + C / X | Ctrl + C / X |
라인 제거하기 | Cmd + BackSpace | Ctrl + Y |
한 단위씩/라인 단위로 코드 옮기기 | Cmd(Opt) + Shift + ↑↓ | Ctrl(Alt) + Shift + ↑↓ |
Tool Window 열기(Open corresponding tool window)
Mac: cmd + [0-9]
Window: alt + [0-9]
Mac: option + F12 (숫자가 안 붙어있는 터미널)
Window: alt + F12 (숫자가 안 붙어있는 터미널)
1:Project
, 6:TODO
처럼 숫자가 붙어있는 경우 해당 숫자와 함께 눌러주시면 해당하는 Tool Window가 켜진다. 다시 끄고 싶으면 한번 더 눌러주면 된다.
파일 생성하기(New..)
Mac: cmd + N
Window: alt + Ins
파일을 생성하고 싶은 디렉토리를 클릭 후에, 파일 생성 단축키를 누르시면 위 화면을 볼 수 있다. 앞에서 익힌 cmd + 1 단축키와 연계해서 사용하면 더 유용할 것이다.
코드 생성하기(Generate Code)
Mac: cmd + N
Window: alt + Ins
코드를 생성하고 싶은 위치에서 단축키를 누르면 위 화면을 볼 수 있다. 테스트, 생성자, 오버라이드 메서드 등을 생성할 수 있음을 확인할 수 있다. 여기서는 테스트 메서드를 만들어 보겠다.
테스트 메서드를 만들고 아직 존재하지 않는 메서드(newMethod()
)를 호출했다. 에러가 나는 것을 확인할 수 있다. 이제 그 메서드 위에 커서를 놓고 아래 단축키를 입력하면,
Mac: cmd + N
Window: alt + Ins
새로운 메서드가 생성된 것을 확인할 수 있다. 메서드뿐만 아니라, 존재하지 않는 클래스도 이런 식으로 생성할 수 있다. TDD를 할 때나, 구현이 안 된 인터페이스 등을 먼저 사용할 때 유용하게 쓰이는 단축키다.
이름 바꾸기(Rename)
Mac: shift + F6
Window: Shift + F6
이름을 바꿀 파일/클래스/메서드/변수 명 위에 커서를 두고 단축키를 누르고, 바꿀 이름을 입력하고 엔터를 누르면 이름이 바뀐다.
같은 단어 멀티 커서(Add selection for next occurrence)
생각보다 유용하게 쓰이는 기능이다. 위 화면에서 Objects를 Things로 모두 바꾸고 싶을 때, cmd + R을 사용해서 일괄변환을 할 수도 있지만, 하나씩 선택하고 싶을 때가 있다. 그럴 때 단어를 선택하고 다음 단축키를 사용하면 된다.
Mac: ctrl + G
Window: alt + J
'Java' 카테고리의 다른 글
[Spring Data JDBC] 객체(Object)와 개체(Entity) 대응시키기 (0) | 2020.05.11 |
---|---|
JPA vs JDBC, JPA vs Mybatis, JPA vs Spring Data JPA의 차이점과 Hibernate (0) | 2020.04.25 |
자바의 생성자와 정적 팩토리 메서드 (0) | 2020.04.20 |
자바의 Enum (1) | 2020.04.18 |
자바의 예외처리 (0) | 2020.04.18 |