github/gitignore · Global/VisualStudioCode.gitignore
Разбор шаблона .gitignore для VS Code
Почему 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 | Собранные пакеты расширенийУстановочные пакеты, созданные командой vsce package при разработке расширений VS Code. |
На что обратить внимание на практике
- Не записывайте личные предпочтения (размер шрифта, тему) в
settings.json— храните их в пользовательских настройках. Настройки репозитория применяются ко всей команде. - Если в
launch.jsonпопали личные пути или токены, перед коммитом замените их переменными вроде${workspaceFolder}. - Если хотите скрыть
.vscode/целиком, вместо этого шаблона добавьте одну строку.vscode/в глобальный gitignore. Правда, тогда придётся отказаться от общих настроек команды.
Исходный шаблон
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