github/gitignore · Global/VisualStudioCode.gitignore
VS Code .gitignore 템플릿 해설
VisualStudioCode.gitignore가 .vscode/* 로 폴더 내용을 제외하고 settings·tasks·launch·extensions 파일을 부정 패턴으로 되살리는 이유와 공유 기준을 설명합니다.
VisualStudioCode.gitignore는 부정 패턴의 교과서 같은 템플릿이다. .vscode/ 폴더의 내용을 모두 제외한 뒤, 팀과 공유할 가치가 있는 설정 파일만 !로 다시 포함한다.
여기서 .vscode/가 아니라 .vscode/*로 적은 것이 핵심이다. 디렉터리 자체를 제외하면 git이 그 안을 살펴보지 않기 때문에 뒤의 ! 규칙이 아무 효과도 내지 못한다.
규칙별 해설
| 패턴 | 무엇을, 왜 무시하나 |
|---|---|
.vscode/* | 폴더 내용 제외확장이 만드는 캐시·개인 설정을 포함한 .vscode 안의 모든 파일을 일단 제외한다. 폴더 자체는 제외하지 않으므로 하위 파일을 되살릴 수 있다. |
!.vscode/settings.json!.vscode/tasks.json!.vscode/launch.json | 공유할 작업 공간 설정포매터·린터 설정, 빌드 태스크, 디버그 구성은 팀이 같은 방식으로 개발하도록 돕는다. |
!.vscode/extensions.json!.vscode/*.code-snippets | 추천 확장·스니펫extensions.json은 프로젝트를 열었을 때 설치를 제안할 확장 목록이고, .code-snippets는 프로젝트 전용 코드 조각이다. |
!*.code-workspace | 멀티 루트 작업 공간여러 폴더를 묶는 작업 공간 파일을 어떤 템플릿이 무시하더라도 다시 포함한다. |
*.vsix | 빌드한 확장 패키지VS Code 확장을 개발할 때 vsce package로 만든 설치 패키지다. |
실무에서 주의할 점
settings.json에 개인 취향(글꼴 크기, 테마)을 넣지 말고 사용자 설정에 둔다. 저장소의 설정은 팀 전체에 적용된다.launch.json에 개인 경로나 토큰을 넣었다면 커밋하기 전에${workspaceFolder}같은 변수로 바꾼다..vscode/를 통째로 숨기고 싶다면 이 템플릿 대신 전역 gitignore에.vscode/를 한 줄 넣는다. 다만 팀 설정 공유는 포기하게 된다.
원본 템플릿
VisualStudioCode.gitignore
# Visual Studio Code.vscode/*!.vscode/settings.json!.vscode/tasks.json!.vscode/launch.json!.vscode/extensions.json!.vscode/*.code-snippets!*.code-workspace# Built Visual Studio Code Extensions*.vsix
템플릿 출처: github/gitignore/Global/VisualStudioCode.gitignore @356fd7b (2026-09-11) · CC0-1.0