I'm happy to announce the ContextKeeper 0.71 version is available in private beta.

From now on you can 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

    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

    • s̶t̶o̶r̶e̶d̶ ̶f̶i̶l̶e̶ ̶p̶a̶t̶h̶s̶ ̶i̶n̶ ̶a̶ ̶s̶n̶a̶p̶s̶h̶o̶t̶ ̶a̶r̶e̶ ̶a̶b̶s̶o̶l̶u̶t̶e̶ (update: relative path support implemented 1st June 2022),
    • 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. (update: VS 2022 support​ started from 26th November 2021)

    Roadmap

    Current roadmap is focused to remove above limits and add support to: