I'm happy to announce the ContextKeeper 0.71 version is available in private beta.
From now on you could safely store and switch between different programming contexts in seconds. A snapshot remembers last opened files, pinned tabs, documents positions and state (horizontal/vertical orientation, docked state and order) are preserved in a simple JSON file.
After installing VSIX package you could access your latest Mental Snapshots by navigating to
View -> Other Windows -> Mental Snapshots
By default tool window will open next to Solution Explorer
You could create a new snapshot using Create Snapshot button
and restore them quickly using few commands from right-click context menu
Full Restore - restores all files including windows state&position, pinned tabs and current line&column for every file,
- Append Files - adds all files from a selected snapshot to the current active window,
- Restore Files - closes all tabs and restores a snapshot in the same way as Append Files,
- Update - update selected snapshot using current visual&logical state
Where the snapshots are stored?
All snapshots are stored in the .contextkeeper folder which is created in the same folder where solution file (.sln) sits. A snapshot is saved using self explanatory JSON format. You could try changing different bits manually and later checking an impact it has during restoring process.
- stored file paths in a snapshot are absolute,
- windows positions are tightly coupled to your (multi) monitor setup and switching between them are not supported yet (e. g. switching between workstation and laptop).
- Visual Studio 2013/2015/2017 and 2019 are supported. The experimental support for VS 2022 is around the corner.
Current roadmap is focused to remove above limits and add support to:
- automatic snapshot switching when changing branches
- relative paths for all files in snapshots in order to be able to restore a snapshot in different dev environment (e. g. new folder structure or entirely new machine),
- multi-monitor setup detection to allow smooth snapshots transition between your workstation or laptop or even sharing it with your teammate.