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