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, windows positions and state  (horizontal/vertical orientation, docked state and files 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

    How to open Mental Snapshots

    By default tool window will open next to Solution Explorer

    Tool Window Placement

    You could create a new snapshot using Create Snapshot button

    and restore them quickly using few commands from right-click context menu

    Right-click 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.

    Current limitations

    • 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.

    Roadmap

    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.