Since the early versions, Visual Studio has had a problem with recovering the last-used tabs on demand. For years the only built-in solution was to open a solution and pray that VS would recover everything you left open. There was no way to save your active workspace (context), and restore it later if you needed to switch to something else - your precious context was usually forgotten forever.
There were some hacks, like copying your .suo file and storing it in a safe location, but that was only a half-baked manual solution. It wasn't a big deal years ago, when you were coding on a 1024x786 monitor - you couldn't fit that much on your screen. You could usually remember those 3-4 files you were working on.
The Problem
But around 2014, when I bought my first 4K monitor, I was amazed at how much screen real estate I had using a single 4K monitor. I could fit four (!) fully 1080p windows on just one monitor. I also had two other 1080p monitors placed on the right and left, and the middle space for coding was always occupied by the glorious 4K screen (native resolution). After 12 years, in 2026, I still use a 4K monitor in the middle as my main daily driver.
My dream in 2014/2015 was to have a reliable way to save all my tabs, opened across different floating windows, and to be able to restore them on demand. I was working on a heavily complicated project, with a lot of moving parts - CNN Magic Wall with the incredibly talented InterKnowlogy team. I was trying to find an extension that would just do it, but I couldn't find anything good. It was around that time that I started toying with the idea and trying different PoC attempts to bring it to life.
The Solution
Funny enough, a couple months later an extension popped up in the VS Marketplace named Save All the Tabs. It was an interesting attempt to solve this long-standing problem, but it would break often and it was based on a very fragile VS API. It was nice, but not good enough. I didn't know if I could do something better, but finally on July 16th, 2021 I released the first private beta of ContextKeeper.
This was my dream come true. I knew exactly what I wanted to achieve - the state-of-the-art solution on the market - and it turned out to be possible: saving all the tabs, with the exact order, pinned state, floating windows support (the big one!), tab grouping with orientation, split tab groups with size, git integration and many more. It wasn't easy to achieve a state-of-the-art solution. I had seen plenty of different extensions trying to do it, but with mixed results.
To save all your open tabs - usually spread across different floating windows - you needed something that understood the full complexity of the Visual Studio UI. Existing extensions weren't capable of that. They saved a flat list of documents, ignoring layout, grouping, and floating windows entirely. ContextKeeper was designed from the ground up to capture the workspace exactly as you see it.
What I Learned Along the Way
Building ContextKeeper taught me several things about the Visual Studio extension ecosystem:
- The VS API is powerful but fragile. Many features depend on internal interfaces that can change between versions.
- Session management is harder than it sounds. Saving tabs is easy; saving the exact layout, floating windows, pinned state, and group orientations is a significant engineering challenge.
- Community feedback is invaluable. Many of the best features came from user requests and bug reports.
Where We Are Today
ContextKeeper is now a mature, actively maintained extension that supports Visual Studio 2022 and 2026 (including older versions). It saves:
- All open documents across all floating windows
- Tab order, pinned state, and split orientations
- Document groups with their sizes and layout
- Git branch associations for automatic context switching
- Named snapshots you can restore on demand
- Breakpoints and bookmarks
It has grown from a personal dream into a tool trusted by thousands of developers who refuse to lose their context ever again.
Final Thoughts
The journey from frustration to solution took over a decade. What started as a simple wish - "I just want to save my tabs" -- evolved into a robust session management system that respects the complexity of a real developer's workspace.
If you have ever lost your place after a crash, or a task/branch switch, you know how painful it is. ContextKeeper exists so you never have to feel that pain again. Your context is precious -- and it deserves to be kept safe and secure.