VS CODE 빠른 참조
내비게이션, 편집, 멀티커서, 터미널, 디버깅, 확장
내비게이션
파일 및 심볼 내비게이션
| Ctrl+P | 파일 이름으로 빠른 열기 |
| Ctrl+Shift+P | 명령 팔레트 |
| Ctrl+Shift+O | 파일 내 심볼로 이동 |
| Ctrl+T | 워크스페이스 내 심볼로 이동 |
| Ctrl+G | 줄 번호로 이동 |
| F12 | 정의로 이동 |
| Alt+F12 | 정의 미리보기 |
| Shift+F12 | 모든 참조 찾기 |
| Ctrl+Shift+\ | 대응하는 괄호로 이동 |
탭 및 에디터 내비게이션
| Ctrl+Tab | 열린 탭 순환 |
| Ctrl+1 / 2 / 3 | 에디터 그룹 1 / 2 / 3에 포커스 |
| Ctrl+\ | 에디터 분할 |
| Ctrl+B | 사이드바 전환 |
| Ctrl+J | 하단 패널 전환 |
편집
줄 작업
| Ctrl+Shift+K | 줄 전체 삭제 |
| Alt+Up / Down | 줄 위 / 아래로 이동 |
| Shift+Alt+Up / Down | 줄 위 / 아래로 복사 |
| Ctrl+Enter | 아래에 줄 삽입 |
| Ctrl+Shift+Enter | 위에 줄 삽입 |
| Ctrl+Shift+[ | 영역 접기 |
| Ctrl+Shift+] | 영역 펼치기 |
텍스트 조작
| Ctrl+D | 단어 선택 (반복으로 다음 일치 추가) |
| Ctrl+Shift+L | 선택의 모든 발생 선택 |
| Ctrl+L | 줄 전체 선택 |
| Ctrl+/ | 줄 주석 전환 |
| Shift+Alt+A | 블록 주석 전환 |
| Tab / Shift+Tab | 들여쓰기 / 내어쓰기 |
멀티커서
커서 추가
| Alt+Click | 클릭 위치에 커서 추가 |
| Ctrl+Alt+Up / Down | 위 / 아래에 커서 추가 |
| Ctrl+D | 선택의 다음 발생 추가 |
| Ctrl+Shift+L | 모든 발생에 커서 추가 |
| Ctrl+U | 마지막 커서 추가 취소 |
| Esc | 멀티커서 모드 종료 |
멀티커서 워크플로
// Select a word, then Ctrl+D to add matches
// Type replacement — all cursors update
// Ctrl+Shift+L selects ALL matches at once
// Alt+Click for arbitrary cursor placement
터미널
터미널 단축키
| Ctrl+` | 통합 터미널 전환 |
| Ctrl+Shift+` | 새 터미널 생성 |
| Ctrl+Shift+5 | 터미널 분할 |
| Ctrl+PgUp / PgDn | 터미널 위 / 아래 스크롤 |
| Ctrl+Shift+C | 터미널에서 선택 복사 |
| Ctrl+Shift+V | 터미널에 붙여넣기 |
터미널 관리
| Ctrl+Shift+P → Terminal: Kill | 활성 터미널 종료 |
| Ctrl+Shift+P → Terminal: Rename | 터미널 탭 이름 변경 |
| Terminal dropdown | 터미널 전환 |
| terminal.integrated.shell.* | 기본 셸 변경 설정 |
디버깅
디버그 컨트롤
| F5 | 디버깅 시작 / 계속 |
| Shift+F5 | 디버깅 중지 |
| Ctrl+Shift+F5 | 디버깅 재시작 |
| F9 | 중단점 전환 |
| F10 | 스텝 오버 |
| F11 | 스텝 인 |
| Shift+F11 | 스텝 아웃 |
launch.json 예제
{
"type": "node",
"request": "launch",
"name": "Run App",
"program": "${workspaceFolder}/app.js"
}
디버그 기능
| Watch panel | 디버깅 중 표현식 모니터링 |
| Call Stack | 실행 콜 스택 보기 |
| Debug Console | 중단점에서 표현식 평가 |
| Conditional breakpoint | 중단점 오른쪽 클릭 → 조건 편집 |
| Logpoint | 실행 중단 없이 메시지 로그 |
확장
확장 관리
| Ctrl+Shift+X | 확장 보기 열기 |
| @installed | 설치된 확장으로 필터 |
| @enabled / @disabled | 활성화 / 비활성화로 필터 |
| @recommended | 추천 확장 표시 |
필수 확장
| Prettier | 코드 포매터 (JS, TS, CSS, HTML) |
| ESLint | JavaScript/TypeScript 린팅 |
| GitLens | 향상된 Git 통합 및 블레임 |
| Remote - SSH | SSH를 통해 원격 머신에서 개발 |
| Live Server | 라이브 리로드 로컬 개발 서버 |
| Thunder Client | VS Code 내 REST API 클라이언트 |
설정
설정 접근
| Ctrl+, | 설정 UI 열기 |
| Ctrl+Shift+P → settings.json | 설정 JSON 열기 |
일반 설정 (JSON)
{
"editor.fontSize": 14,
"editor.tabSize": 2,
"editor.formatOnSave": true,
"editor.wordWrap": "on",
"files.autoSave": "afterDelay"
}
워크스페이스 vs 사용자
| User settings | 전역, 모든 프로젝트에 적용 |
| Workspace settings | 프로젝트별, .vscode/settings.json에 저장 |
| Workspace overrides User | 워크스페이스 설정이 우선 |
키보드 단축키
커스터마이즈
| Ctrl+K Ctrl+S | 키보드 단축키 에디터 열기 |
| keybindings.json | 커스텀 바인딩용 JSON 파일 |
필수 단축키
| Ctrl+Shift+P | 명령 팔레트 (모든 것 접근) |
| Ctrl+P | 파일 빠른 열기 |
| Ctrl+Shift+F | 모든 파일 검색 |
| Ctrl+H | 파일에서 찾기 및 바꾸기 |
| Ctrl+Shift+H | 파일 전체에서 찾기 및 바꾸기 |
| F2 | 심볼 이름 변경 |
| Ctrl+. | 빠른 수정 (코드 액션) |
| Ctrl+Space | IntelliSense 트리거 |
| Ctrl+Shift+I | 문서 포맷 |
Git 통합
소스 컨트롤 보기
| Ctrl+Shift+G | 소스 컨트롤 패널 열기 |
| + | 변경 사항 스테이지 (SCM 보기에서) |
| - | 변경 사항 언스테이지 |
| Ctrl+Enter | 스테이지된 변경 사항 커밋 |
| ... | 더 많은 작업 (푸시, 풀 등) |
인라인 Git 기능
| Gutter indicators | 추가/수정/삭제에 대한 녹색/파란색/빨간색 표시 |
| Ctrl+Shift+P → Git: Checkout | 브랜치 전환 |
| Ctrl+Shift+P → Git: Pull | 원격에서 풀 |
| Ctrl+Shift+P → Git: Push | 원격으로 푸시 |
| Click gutter change | 수정된 줄의 인라인 diff 보기 |
Diff 및 머지
| SCM → Open Changes | 나란히 diff 보기 |
| Inline diff arrows | 개별 변경 사항 되돌리기 |
| 3-way merge editor | 충돌을 시각적으로 해결 (1.69+) |
자주 쓰는 패턴
워크스페이스 기능
| Ctrl+Shift+E | 파일 탐색기에 포커스 |
| Ctrl+Shift+D | 디버그 보기에 포커스 |
| Ctrl+Shift+M | 문제 패널 표시 |
| Ctrl+K Ctrl+T | 색상 테마 변경 |
| Ctrl+K Z | Zen 모드 진입 |
스니펫
// File → Preferences → Configure Snippets
"Print": {
"prefix": "log",
"body": "console.log('$1');",
"description": "Console log"
}
태스크 (tasks.json)
{
"label": "build",
"type": "shell",
"command": "npm run build",
"group": "build"
}