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/を 1 行入れる。ただし、チーム設定の共有はあきらめることになる。
元のテンプレート
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