github/gitignore · Global/VisualStudioCode.gitignore

Разбор шаблона .gitignore для VS Code

Почему VisualStudioCode.gitignore исключает содержимое папки через .vscode/* и возвращает файлы settings, tasks, launch и extensions отрицающими шаблонами, и чем стоит делиться.

Открыть в генераторе Открыть вместе с Node, Python, macOS, Windows

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.

На что обратить внимание на практике

Исходный шаблон

VisualStudioCode.gitignoreСтрок правил: 8
# 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

Шаблоны, используемые вместе

Разборы других шаблонов