Create and manage per-project snapshots in the sidebar. Add notes to snapshots, rename/edit/delete them, and diff snapshot files against the working tree. Snapshots are stored inside the workspace under the hidden .snapfile/ folder so they travel with your project.
Features
- Sidebar tree view grouped by nested folder structure (empty folders are hidden).
- Create snapshots via the
+toolbar button, inline+on any folder node, or right-click any file/folder (or multi-selection) in the VS Code Explorer. - Add notes / rename / delete — edit snapshot metadata through context-menu actions.
- File diffing — right-click a file inside a snapshot and choose "Compare with Current File" to open VS Code's native diff view. Right-click a snapshot and choose "Show Changed Files" to list every modified/deleted/unchanged file.
- Configurable exclusions — set
snapfile.excludeFolders,snapfile.excludeExtensions, andsnapfile.maxFileSizeMBvia VS Code Settings.
Settings
| Setting | Default | Description |
|---|---|---|
snapfile.maxFileSizeMB |
0 (no limit) |
Max file size in MB per snapshot file. 0 = unlimited. |
snapfile.excludeFolders |
[".git", "node_modules", "out", "dist", "build", ".next", "coverage", ".vscode"] |
Folder names excluded from snapshots at any depth. .snapfile always excluded. |
snapfile.excludeExtensions |
[] |
File extensions to skip, e.g. [".log", ".tmp"]. Leading dot is optional. |
Storage
Snapshots live inside your project under the hidden folder .snapfile/:
<workspace>
└── .snapfile/
├── index.json # metadata (names, notes, timestamps)
└── snapshots/
└── <id>/<relative-path>
On Windows, Snapfile marks the folder as hidden using attrib +H so it won't show in Explorer by default. The folder is also excluded from VS Code's file watcher and Explorer view automatically.
Known Limitations
- Multi-root workspaces are not yet supported; only the first workspace folder is tracked.
- Snapshot content is copied verbatim; large projects can grow
.snapfile/— usesnapfile.maxFileSizeMBandsnapfile.excludeFoldersto keep it in check.
License
MIT