Table of contents
커맨드 팔레트
VS Code의 모든 기능은 커맨드 팔레트를 통해 접근할 수 있다. 메뉴를 뒤지는 것보다 이름으로 검색하는 게 항상 빠르다.
| 기능 | Mac | Windows / Linux |
|---|---|---|
| 커맨드 팔레트 | command(⌘) shift(⇧) P | Ctrl Shift P |
| 파일 빠른 열기 | command(⌘) P | Ctrl P |
| 설정 열기 | command(⌘) , | Ctrl , |
| 키보드 단축키 설정 | command(⌘) K, command(⌘) S | Ctrl K, Ctrl S |
| 새 창 | command(⌘) shift(⇧) N | Ctrl Shift N |
| 현재 탭 닫기 | command(⌘) W | Ctrl W |
command(⌘) P는 파일 열기 외에 한 가지 트릭이 있다. 두 번 연속으로 누르면 직전에 열었던 파일로 토글된다. 두 파일을 번갈아 볼 때 탭을 클릭하는 것보다 빠르다.
command(⌘) shift(⇧) P(커맨드 팔레트)와 command(⌘) P(파일 열기)는 사실 같은 입력창이다. command(⌘) shift(⇧) P는 >가 미리 입력된 상태로 열리고, command(⌘) P는 비어 있는 상태로 열린다. command(⌘) P에서 >를 직접 치면 커맨드 팔레트가 되고, #을 치면 심볼 검색이 된다.
탐색
| 기능 | Mac | Windows / Linux |
|---|---|---|
| 정의로 이동 | F12 | F12 |
| 정의 미리보기 | option(⌥) F12 | Alt F12 |
| 구현으로 이동 | command(⌘) F12 | Ctrl F12 |
| 참조 찾기 | shift(⇧) F12 | Shift F12 |
| 줄 번호로 이동 | control(⌃) G | Ctrl G |
| 파일 내 심볼로 이동 | command(⌘) shift(⇧) O | Ctrl Shift O |
| 뒤로 / 앞으로 | command(⌘) option(⌥) ← / → | Alt ← / → |
option(⌥) F12(Peek Definition)는 현재 파일을 벗어나지 않으면서 정의를 인라인으로 보여준다. 잠깐 확인하고 돌아올 거라면 F12로 파일을 옮기는 것보다 option(⌥) F12가 낫다. 확인이 끝나면 Esc로 닫으면 된다.
command(⌘) shift(⇧) O(파일 내 심볼 이동)는 긴 파일에서 특정 함수나 클래스를 찾을 때 스크롤보다 빠르다. : 을 추가로 입력하면 심볼을 종류별로 그룹핑해서 보여준다.
검색 & 치환
| 기능 | Mac | Windows / Linux |
|---|---|---|
| 파일 내 검색 | command(⌘) F | Ctrl F |
| 파일 내 치환 | command(⌘) H | Ctrl H |
| 전체 검색 | command(⌘) shift(⇧) F | Ctrl Shift F |
| 전체 치환 | command(⌘) shift(⇧) H | Ctrl Shift H |
전체 검색(command(⌘) shift(⇧) F)은 검색 결과에서 파일별로 그룹핑해서 보여주기 때문에 영향 범위를 한눈에 파악할 수 있다. 결과 패널에서 바로 해당 줄을 클릭하면 파일이 열리고, 전체 치환도 파일 단위로 선택적으로 적용할 수 있다.
편집
| 기능 | Mac | Windows / Linux |
|---|---|---|
| 라인 위 / 아래로 이동 | option(⌥) ↑ / ↓ | Alt ↑ / ↓ |
| 라인 위 / 아래로 복사 | option(⌥) shift(⇧) ↑ / ↓ | Alt Shift ↑ / ↓ |
| 라인 삭제 | command(⌘) shift(⇧) K | Ctrl Shift K |
| 아래에 새 줄 삽입 | command(⌘) Enter | Ctrl Enter |
| 위에 새 줄 삽입 | command(⌘) shift(⇧) Enter | Ctrl Shift Enter |
| 라인 주석 토글 | command(⌘) / | Ctrl / |
| 블록 주석 토글 | option(⌥) shift(⇧) A | Shift Alt A |
| 전체 포맷팅 | option(⌥) shift(⇧) F | Shift Alt F |
| 선택 영역 포맷팅 | command(⌘) K, command(⌘) F | Ctrl K, Ctrl F |
| 현재 블록 접기 / 펼치기 | command(⌘) option(⌥) [ / ] | Ctrl Shift [ / ] |
| 전체 접기 / 펼치기 | command(⌘) K, command(⌘) 0 / command(⌘) K, command(⌘) J | Ctrl K, Ctrl 0 / Ctrl K, Ctrl J |
option(⌥) ↑↓(이동)과 option(⌥) shift(⇧) ↑↓(복사)는 처음 쓸 때 헷갈린다. shift가 붙으면 복사, 없으면 이동이다. shift 없이 눌렀는데 원본이 사라지면 당황할 수 있으니 차이를 기억해두는 게 좋다.
코드 폴딩(command(⌘) option(⌥) [/])은 긴 파일을 읽을 때 유용하다. 지금 관심 없는 블록을 접어두면 전체 구조가 한눈에 들어온다. command(⌘) K, command(⌘) 0으로 전부 접은 뒤 필요한 부분만 펼치면서 읽는 방식이 효과적이다.
멀티커서
VS Code에서 가장 강력한 기능 중 하나다. 같은 패턴을 여러 곳에서 동시에 수정해야 할 때, 하나하나 치환하는 대신 커서를 여러 개 만들어서 한 번에 편집할 수 있다.
| 기능 | Mac | Windows / Linux |
|---|---|---|
| 같은 단어 순서대로 선택 추가 | command(⌘) D | Ctrl D |
| 같은 단어 전부 선택 | command(⌘) shift(⇧) L | Ctrl Shift L |
| 위 / 아래 줄에 커서 추가 | command(⌘) option(⌥) ↑ / ↓ | Ctrl Alt ↑ / ↓ |
| 클릭 위치에 커서 추가 | option(⌥) 클릭 | Alt 클릭 |
| 마지막 커서 선택 취소 | command(⌘) U | Ctrl U |
| 멀티커서 해제 | Esc | Esc |
command(⌘) D는 같은 단어를 하나씩 추가로 선택하는 방식이라 원하는 개수만큼 정밀하게 고를 수 있다. 전부 바꿔야 한다면 command(⌘) shift(⇧) L로 한 번에 잡는 게 빠르다.
멀티커서를 만들다가 잘못된 위치에 하나가 붙었으면 command(⌘) U로 마지막에 추가된 커서만 빼면 된다. Esc는 멀티커서 전체를 해제하니까, 실수로 누르면 처음부터 다시 해야 한다.
리팩토링 & 코드 액션
| 기능 | Mac | Windows / Linux |
|---|---|---|
| 심볼 이름 변경 | F2 | F2 |
| 빠른 수정 / 코드 액션 | command(⌘) . | Ctrl . |
| 자동완성 트리거 | control(⌃) Space | Ctrl Space |
| 호버 정보 보기 | command(⌘) K, command(⌘) I | Ctrl K, Ctrl I |
command(⌘) .는 IntelliJ의 option(⌥) Enter와 같은 역할이다. 에러가 있으면 수정 제안을 보여주고, 정상 코드에서는 리팩토링 옵션을 준다. 확장에 따라 제안 내용이 달라지기 때문에 사용하는 언어의 확장이 설치되어 있어야 제대로 동작한다.
사이드바 & 패널
| 기능 | Mac | Windows / Linux |
|---|---|---|
| 사이드바 토글 | command(⌘) B | Ctrl B |
| Explorer | command(⌘) shift(⇧) E | Ctrl Shift E |
| Source Control | command(⌘) shift(⇧) G | Ctrl Shift G |
| Extensions | command(⌘) shift(⇧) X | Ctrl Shift X |
| Run and Debug | command(⌘) shift(⇧) D | Ctrl Shift D |
| 하단 패널 토글 | command(⌘) J | Ctrl J |
| Problems 패널 | command(⌘) shift(⇧) M | Ctrl Shift M |
| Output 패널 | command(⌘) shift(⇧) U | Ctrl Shift U |
패턴은 command(⌘) shift(⇧) + 패널 이니셜이다. Explorer는 E, Source Control은 G(Git), Extensions는 X, Debug는 D. 규칙을 알면 외우기 쉽다.
command(⌘) B로 사이드바를 닫으면 에디터 영역이 넓어진다. 코드에 집중할 때 닫아두고, 파일 탐색이 필요할 때만 여는 습관을 들이면 화면을 효율적으로 쓸 수 있다.
터미널
| 기능 | Mac | Windows / Linux |
|---|---|---|
| 터미널 토글 | control(⌃) ` | Ctrl ` |
| 새 터미널 | control(⌃) shift(⇧) ` | Ctrl Shift ` |
| 터미널 분할 | command(⌘) \ | Ctrl \ |
control(⌃) `(백틱)으로 터미널을 열고 닫는 건 외워두면 좋다. 코드를 수정하다 빌드를 돌리고, 결과를 확인하고, 다시 코드로 돌아오는 흐름이 키보드 하나로 끊기지 않는다.
실행 & 디버그
| 기능 | Mac | Windows / Linux |
|---|---|---|
| 디버그 시작 / 계속 | F5 | F5 |
| 디버그 중지 | shift(⇧) F5 | Shift F5 |
| 중단점 토글 | F9 | F9 |
| Step Over | F10 | F10 |
| Step Into | F11 | F11 |
| Step Out | shift(⇧) F11 | Shift F11 |
VS Code의 디버거는 launch.json으로 설정한다. Node.js는 별도 설정 없이 바로 동작하지만, 다른 언어는 확장이 필요하다. F5로 디버그를 시작하고, 중단점에서 멈추면 F10(Step Over)과 F11(Step Into)로 코드를 한 줄씩 따라가면서 변수 값을 확인할 수 있다.
VS Code의 단축키 체계는 command(⌘) K로 시작하는 코드(키 코드) 방식이 많다. command(⌘) K, command(⌘) S(단축키 설정), command(⌘) K, command(⌘) F(선택 포맷팅), command(⌘) K, command(⌘) 0(전체 접기) 같은 것들인데, 처음엔 어색하지만 “command(⌘) K를 누른 뒤 다음 키로 기능을 지정한다”는 패턴으로 이해하면 된다. 단축키가 기억 안 날 때는 command(⌘) K, command(⌘) S로 설정을 열어 검색하면 기능과 단축키를 함께 확인할 수 있다.


Loading comments...