VS Code 확장 12가지와 필수 설정으로 개발 흐름 정리하기

VS Code는 설치만 하면 “쓸 수 있는” 편집기이지만, 기본값만으로는 반복 작업이 많이 남습니다. 이 글은 “확장 추천 리스트 복붙”이 아니라, 왜 깔는지 · 어떤 설정과 같이 쓰는지를 12개 기준으로 정리한 가이드입니다.
준비물
- VS Code 최신 안정판
- 작업 언어 1개 이상 (예: JavaScript/TypeScript, Python)
- 소요: 설치 20
30분, 설정 안정화 12일
설치 전 원칙
- 한 번에 20개를 깔지 말고 카테고리당 1~2개씩.
- 느려지면
Developer: Show Running Extensions로 범인 확인. - 팀 프로젝트는 워크스페이스 설정(
.vscode/settings.json)에 맞춰 개인 확장과 분리.
확장 12가지 (용도 + 권장 설정)
코드 품질
1. ESLint — JS/TS 스타일·버그 패턴 표시
설정: "eslint.validate": ["javascript", "typescript", "javascriptreact", "typescriptreact"]
2. Prettier – Code formatter — 저장 시 포맷
설정: "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.formatOnSave": true
ESLint와 충돌 시 eslint-config-prettier로 규칙 정리.
3. SonarLint — 복잡도·취약 패턴 힌트 대규모 레포에서는 폴더 제외 설정을 검토.
4. Error Lens — 에러를 코드 줄 옆에 표시 초보 때 디버깅 속도가 체감으로 빨라짐. 알림이 많으면 경고 레벨만 표시.
Git·탐색
5. GitLens — 줄 단위 blame, 히스토리 회사 레포에서는 UI 패널을 최소화해 산만함 감소.
6. Path Intellisense — 경로 자동완성
import 오타 감소.
7. Bookmarks — 파일 내 위치 점프 큰 파일 수정 시 유용. 단축키를 기억할 것.
8. Todo Tree — TODO/FIXME 모아 보기
이슈로 안 옮긴 메모가 쌓이는 팀에서 효과.
AI·생산성
9. GitHub Copilot (유료 가능) — 인라인 제안 (포스트 4) 민감 레포는 조직 정책 확인.
10. Continue — 로컬/원격 모델 연결 가능한 오픈 쪽 대안 로컬 LLM과 같이 쓸 때 (포스트 18).
디버깅·테스트
11. Thunder Client 또는 REST Client — 가벼운 API 호출 Postman 대체로 충분할 때가 많음.
12. Jest Runner (또는 언어별 Test Explorer) — 테스트 파일에서 바로 실행 “터미널 명령 잊음” 시간 제거.
설치 후 5분 설정 (권장 최소셋)
사용자 또는 워크스페이스 settings.json 예시:
{ "editor.formatOnSave": true, "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" }, "files.autoSave": "afterDelay", "files.autoSaveDelay": 1000, "editor.tabSize": 2, "editor.rulers": [100], "files.exclude": { "**/node_modules": true }}추가 팁:
- 프로필 분리 — 프론트/데이터/문서용 프로필을 나누면 확장 충돌이 줄어듭니다.
- 단축키 —
작업 편집기: 명령 팔레트에서 자주 쓰는 명령에 키 할당. .vscode/extensions.json— 팀에 추천 확장을 공유 (recommendations배열).
Before / After (개인 워크플로 기준)
| 작업 | 확장·설정 전 | 후 |
|---|---|---|
| 들여쓰기·세미콜론 논쟁 | 리뷰 시간 소모 | Prettier 저장 시 통일 |
| import 경로 오타 | 런타임/빌드에서 발견 | Path Intellisense로 감소 |
| 테스트 실행 | 긴 CLI 기억 | 러너로 파일 단위 실행 |
자주 하는 실수
- 포맷터 2개가 경쟁 → 기본 포맷터 하나만.
- 모든 저장 동작에 fix가 돌아가 커밋 난잡 →
codeActionsOnSave범위 축소. - 테마·아이콘만 잔뜩 설치 → 체감 이득 적고 시작 느림.
FAQ
Q. 꼭 12개 다 깔아야 하나요? 아니요. ESLint+Prettier+Error Lens+GitLens 4개부터 쓰세요.
Q. Vim 확장도 추천하나요? 이미 Vim에 익숙하면 이득, 아니면 학습 비용이 큽니다. 필수 목록에서 뺐습니다.
Q. Cursor를 쓰면 VS Code 확장이 의미 없나요? Cursor는 VS Code 호환이 많아 상당수 확장이 그대로 됩니다. 차이는 AI 기능 쪽입니다 (포스트 14).
확장 설치 순서 (권장)
- Prettier + format on save
- ESLint (프로젝트에 설정 파일이 있을 때)
- Error Lens
- GitLens
- 언어 테스트 러너
- API 클라이언트
- AI 확장은 정책 확인 후
설치 후 Help: Start Extension Bisect로 성능 문제를 이분 검색할 수 있습니다.
워크스페이스 추천 확장 파일 예
{ "recommendations": [ "esbenp.prettier-vscode", "dbaeumer.vscode-eslint", "usernamehw.errorlens", "eamodio.gitlens" ]}팀원 클론 시 알림이 떠 온보딩이 빨라집니다.
추가 FAQ
Q. 회사 PC에 개인 확장 프로필을 써도 되나요? 보안 정책을 따르세요. 라이선스·데이터 유출 확장은 금지 목록을 확인합니다.
Q. 설정 동기화? Settings Sync를 쓰되, 토큰·프록시 등 민감 설정은 분리하세요.

실습 체크리스트 (VS Code 확장)
- 필수 확장만 설치하고 나머지는 비활성화했는가
- Format on Save / ESLint가 동작하는가
- 워크스페이스 추천 확장 파일을 저장했는가
- 불필요한 확장이 시작 시간을 늘지 않는가
- 설정 JSON 백업 또는 Settings Sync를 준비했는가
확장 선택 의사결정 트리
확장을 고를 때는 “유명해서”가 아니라 매일 반복하는 마찰을 기준으로 합니다.
- 저장할 때마다 포맷이 흔들리면 → Prettier/ESLint 계열을 최우선으로 둡니다.
- Git 히스토리를 자주 보면 → Git 관련 확장 1개만 고릅니다. 두 개 이상 켜면 사이드바가 경쟁합니다.
- 오타·미사용 import가 잦으면 → 언어 서버와 린트가 먼저고, AI 확장은 그다음입니다.
- 원격 서버에서 개발하면 → UI 장식 확장보다 원격 호환·성능이 검증된 것만 남깁니다.
성능 측정 방법 (5분)
- 확장 모두 켠 상태에서 창을 열고 체감 시간을 기록합니다.
- 절반을 비활성화한 뒤 같은 레포를 다시 엽니다.
- 차이가 크면 이진 탐색으로 범인을 찾습니다.
- “있으면 좋은” 확장은 워크스페이스 추천 파일에만 남기고 기본 비활성으로 둡니다.
확장 관리는 한 번 하고 끝나는 일이 아닙니다. 분기마다 사용 빈도 0인 확장 정리 데이를 두면, 새 노트북 온보딩 시간도 같이 줄어듭니다. 팀 표준 확장 목록을 README에 링크해 두면 신입 개발자가 유튜브 추천 확장 세트를 무분별하게 설치하는 일을 막을 수 있습니다.
이 글을 끝내면 할 수 있는 것
- 확장 12가지의 용도를 구분하고, 당장 쓸 최소 세트만 설치한다.
- Format on Save·ESLint·Git 관련 설정을 5분 안에 맞춘다.
- 확장이 느려질 때 비활성화로 원인 격리하는 방법을 안다.
설치 순서 권장 (충돌 최소화)
- 언어 팩·한글 키 바인딩(필요 시)
- ESLint + Prettier (포맷 전쟁 예방)
- GitLens 또는 기본 Git UI
- 오류 렌즈·경로 인텔리센스
- 테스트/디버그 확장
- AI 확장(정책 허용 시 마지막)
settings.json 최소 예시 (개념)
{ "editor.formatOnSave": true, "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.codeActionsOnSave": { "source.fixAll.eslint": "explicit" }, "files.eol": "\n"}팀 규칙이 있으면 워크스페이스 .vscode/settings.json에 두어 개인 설정을 덮어쓰지 않게 합니다.
트러블슈팅
| 증상 | 원인 | 해결 |
|---|---|---|
| 저장 시 포맷 안 됨 | 기본 포맷터 미지정 | defaultFormatter 설정 |
| ESLint와 Prettier 충돌 | 규칙 중복 | eslint-config-prettier |
| 시작 30초+ | 확장 과다 | 이진 탐색으로 disable |
| 원격 SSH에서 깨짐 | UI 확장 한계 | 원격 호환 확장만 |
| AI 확장이 코드 유출 우려 | 클라우드 전송 | 설정·정책 확인 후 사용 |
FAQ 보강
Q. 확장을 많이 깔수록 생산적인가요? 아닙니다. 매일 쓰는 8~12개가 보통 상한입니다. 나머진 워크스페이스 추천으로만.
Q. Vim 키 바인딩과 충돌해요. 키맵 확장 켜면 기본 단축키가 바뀝니다. 치트시트를 옆에 두고 1주만 버티세요.
Q. 회사 PC에 설치 권한이 없어요. 포터블/정책 허용 목록을 확인하거나, 웹 기반 IDE·컨테이너 개발 환경을 검토하세요.
현장에서 바로 쓰는 VS Code 확장 운영 노트
이 절은 VS Code 확장 본문을 읽은 뒤 다음 영업일 안에 실행할 때 참고하는 운영 메모입니다. 도구 이름보다 중요한 것은 반복 가능한 순서와 실패 기록입니다. 처음 한 주는 완벽한 세팅보다 ‘최소 성공 1회’를 목표로 하세요. 성공 기준을 숫자나 체크박스로 적어 두면 나중에 회고할 때 감이 아니라 데이터로 판단할 수 있습니다.
첫 48시간 실행 계획 (VS Code 확장)
- 준비물 절을 보고 계정·설치·권한을 먼저 끝낸다. 본론 중간에서 설치하면 흐름이 끊긴다.
- 본문의 핵심 절차 중 가장 작은 단위 하나만 끝까지 재현한다.
- 트러블슈팅 표에서 해당 증상 행을 찾아 해결을 적용하고, 없으면 새 행을 메모한다.
- FAQ에서 비용·보안·팀 도입 질문을 읽고 내 환경에 해당하는지 표시한다.
- 실습 체크리스트를 인쇄하거나 이슈 한 장에 옮겨 완료 표시를 남긴다.
- 동료가 있다면 5분 데모를 보여 주고, 설명 중 막힌 지점을 문서에 보완한다.
품질을 유지하는 주간 루틴
VS Code 확장 관련 설정과 문서는 한 번 만들고 방치하면 금방 낡습니다. 매주 15분만 투자해 다음을 점검하세요. 지난주에 새로 생긴 예외 상황, 팀원이 물은 질문, 실패한 명령, 유료 결제 여부, 보안 정책 변경 여부입니다. 변경이 있으면 본문 요약이 아니라 체크리스트와 트러블슈팅 표를 먼저 고칩니다. 긴 서론을 고치는 것보다 표 한 줄이 다음 독자를 더 많이 구합니다.
혼자 일할 때와 팀에서 쓸 때의 차이
개인 사이드 프로젝트에서는 속도와 실험이 우선일 수 있습니다. 하지만 팀 저장소·고객 데이터·공통 인프라가 걸리면 VS Code 확장 사용 방식이 달라져야 합니다. 권한, 감사 로그, 승인 단계, 공유 채널 공지 같은 사회적 절차가 기술적 절차만큼 중요합니다. 모호하면 보수적으로 선택하세요. 막힌 시간을 줄이려다 사고를 키우는 경우가 더 비쌉니다. 팀 합의 문장이 없다면 이 글의 체크리스트를 복사해 ‘우리 팀 버전’ 헤더만 바꿔 공유하는 것으로 충분합니다.
측정 지표 제안
| 지표 | 측정 방법 | 해석 |
|---|---|---|
| 첫 성공까지 시간 | 타이머 | 온보딩 문서 개선 신호 |
| 주간 재사용 횟수 | 간단한 해시 체크 | 습관 정착 여부 |
| 실패 재발 | 같은 증상 메모 | 트러블슈팅 보강 필요 |
| 도움 요청 횟수 | 슬랙/구두 | 문서 공백 위치 |
| 중단 결정 | 2주 후 유지/폐기 | 도구 과잉 방지 |
폐기 기준 (중요)
VS Code 확장가 팀에 안 맞을 수도 있습니다. 실패를 인정하는 기준을 미리 정하세요. 예를 들어 2주 동안 핵심 절차를 3회 이상 재현하지 못했거나, 보안 검토에서 막혔거나, 기존 도구 대비 명확한 이득이 없으면 중단이 올바른 결정입니다. 중단할 때도 설정 내보내기·권한 회수·문서 보관 위치를 남겨 두면 다음에 재도전할 때 비용이 줄어듭니다. 생산성 글의 목적은 도구 수집이 아니라 더 적은 마찰로 같은 품질의 결과를 내는 것입니다.
독자가 자주 놓치는 디테일
- 버전을 안 적으면 한 달 뒤 같은 글이 거짓이 됩니다. 환경 절에 버전을 남기세요.
- 스크린샷만 있고 텍스트 명령이 없으면 접근성과 검색성이 떨어집니다.
- 성공 로그만 남기고 실패 로그를 지우면 학습이 사라집니다.
- 다른 글과 주제가 비슷할 때는 이 글의 완료 정의만 다시 읽고 범위를 지키세요.
- 공유 전에 시크릿·사내 URL·고객명이 있는지 검색하세요.
정리
확장은 “많이”가 아니라 포맷·린트·탐색·실행 네 축을 막히지 않게 하는 도구입니다. 오늘 포맷 온 세이브와 린트 하나만 맞춰도 리뷰 소음이 줄어듭니다.
참고: VS Code 확장 마켓플레이스 · ESLint
글 공유
이 글이 도움이 되셨다면 다른 사람들과 공유해 주세요!



