github/gitignore · Global/VisualStudioCode.gitignore

VS Code .gitignore テンプレート解説

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ビルドした拡張機能パッケージVS Code 拡張機能を開発するときに vsce package で作るインストールパッケージである。

実務での注意点

元のテンプレート

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

一緒に使うテンプレート

ほかのテンプレートの解説