CodeLapse Extension
A dead-simple snapshot system for VS Code that works alongside Git. Take code snapshots with a single keystroke and navigate between them without any complexity.
Why CodeLapse?
Not a Git replacement, but a perfect companion. Git excels at formal version control and team collaboration, while CodeLapse excels at personal development workflow:
- One-Key Snapshots: Create instant point-in-time backups with a single key press
- Zero Mental Overhead: No staging, no commit messages, no branches to manage
- Frictionless Exploration: Try ideas without worrying about "messing up" your Git history
- Development Safety Net: Create snapshots between Git commits for personal checkpoints
- Instant Restoration: Jump back to any snapshot instantly - no stashing, no cherry-picking
CodeLapse is the missing tool between the autosave feature of your IDE and the formal commits of Git.
Documentation
Features
CodeLapse offers a robust set of features, categorized as follows:
Snapshot Basics:
- [x] One-key snapshot creation (
Ctrl+Alt+S
)
- [x] Snapshot navigation (forward/backward:
Ctrl+Alt+N
/Ctrl+Alt+B
)
- [x] Time-based grouping in "My Snapshots" & "Auto Snapshots" Explorer views
- [x] Status bar indicator (time since last snapshot, current index)
Working with Snapshots:
- [x] File comparison (Diff View) between snapshots and current workspace
- [x] Single file restoration
- [x] Selective snapshots (choose specific files)
Automation & Efficiency:
- [x] Basic time-based auto-snapshots (
autoSnapshotInterval
)
- [x] Rule-based auto-snapshots for specific file patterns (
autoSnapshot.rules
)
- [x] UI for managing auto-snapshot rules
- [x] Editor Gutter Indicators for changed lines since last snapshot
- [x] Efficient differential storage for text files
- [x] Content Caching for faster diffs and restores
- [x] Asynchronous file I/O for improved performance
Context & Organization:
- [x] Enhanced snapshot context: Tags, Notes, Task References, Favorites
- [x] Editing snapshot context via Tree View context menu
- [x] Filtering by Date, Tags, Favorites, File Path (View Title icons)
- [x] Filter Status Bar indicator
- [x]
.gitignore
/ .snapshotignore
support for file exclusion
Git Integration:
- [x] Storing branch/commit info (
git.addCommitInfo
)
- [x] Create Git Commit from Snapshot command (
git.commitFromSnapshotEnabled
)
- [x] Auto-snapshot before pull/merge/rebase (
git.autoSnapshotBeforeOperation
)
Getting Started:
- [x] Welcome Experience / Tour / Getting Started command
Configuration
CodeLapse offers several settings to customize its behavior:
vscode-snapshots.snapshotLocation
: Where to store snapshot data (default: .snapshots
).
vscode-snapshots.maxSnapshots
: Maximum number of snapshots to keep (default: 50
).
vscode-snapshots.autoSnapshotInterval
: Interval for automatic snapshots in minutes (default: 0
- disabled).
vscode-snapshots.loggingEnabled
: Enable detailed logging (default: true
).
vscode-snapshots.git.addCommitInfo
: Store Git branch/commit with snapshots (default: true
).
vscode-snapshots.git.commitFromSnapshotEnabled
: Enable the "Create Git Commit from Snapshot" command (default: true
).
vscode-snapshots.git.autoSnapshotBeforeOperation
: Automatically snapshot before Git pull/merge/rebase (default: false
).
See the User Guide for more details on configuration.
When to Use CodeLapse vs. Git
If you want to... |
Use CodeLapse |
Use Git |
Try an experimental approach quickly |
✅ Perfect for rapid iteration |
❌ Too formal for experiments |
Save work-in-progress state |
✅ One keystroke, no commit message |
❌ Requires WIP commits or stashing |
Track logical feature development |
❌ Not designed for this |
✅ Designed for logical commits |
Collaborate with others |
❌ Local snapshots only |
✅ Built for collaboration |
Keep a clean project history |
❌ Not designed for this |
✅ Supports squashing, rebasing, etc. |
Create multiple save points between commits |
✅ Perfect use case |
❌ Would create messy history |
Organize changes with meaningful context |
✅ Tags and notes provide rich context |
❌ Requires complex branch names or verbose commit messages |
Maintain a formal version control record |
❌ Not designed for this |
✅ Exactly what Git is for |
Protect against accidental changes |
✅ Quick protection with no overhead |
✅ More formal protection |
Both tools together provide the best experience: Use Git for formal version control and team collaboration, and use CodeLapse for your personal development workflow.
Quick Start
- Install the extension from the VS Code Marketplace.
- Open a project/workspace.
- Press
Ctrl+Alt+S
(or Cmd+Alt+S
on Mac) to take your first snapshot.
- Choose between Quick Snapshot or Detailed Snapshot with tags and notes.
- Add a description and any context information if using a Detailed Snapshot.
- Use
Ctrl+Alt+B
/ Ctrl+Alt+N
to navigate between snapshots.
- Use the Snapshots view in the Activity Bar to browse, compare, restore, or delete snapshots.
- Right-click on snapshots to edit tags, notes, or toggle favorite status.
- Use filtering commands to find snapshots by date, tags, or favorite status.
- Run diagnostics (
Ctrl+Alt+D
) if needed.
For detailed usage, settings, and troubleshooting, see the User Guide.
System Requirements
- VS Code 1.60.0 or higher
- Works on all platforms supported by VS Code