The Beta Program will be discontinued gradually, starting from installations made more than 2 months ago. If you started using ContextKeeper in March 2023 or earlier, the Beta Program License will expire for you 7th May. Don't wait until last second and secure your license today as long as preorder's pricing is available for only few days!
The first public ContextKeeper release was in July 2021. It was a long road, but here we are, after almost 3 years.
There is no VC or Private Equity fund behind ContextKeeper. It was born from a big vision and unstoppable passion to make it come true. ContextKeeper is fully boostrapped using my own funds, and also by you - the developers who joined License Preorders between 2022-2024.
Not only individual developers buy ContextKeeper, but also companies such as ISD Group or Emerson. You are in good company!
The 2024 will bring a lot of new features to ContextKeeper and you will be surprised how much more useful the whole experience could be. It is the only the beginning and I have only scratched the surface with the current ContextKeeper version. The power of context will be given in your hands, and there is no tool on the market that will be even remotely close to ContextKeeper upcoming releases in 2024. And I am really serious about that πͺ "Stay hungry. Stay foolish".
The Roadmap
- Active snapshot feature - an active snapshot (manually created or branch snapshot) will be continuously auto-saved, similar to branch snapshots. Additionally, when you change git branches using the CLI or another third-party tool. ContextKeeper will detect an active snapshot after solution is loaded and will ask if it should be restored when it doesn't match current git branch,
- Multiple solution support - snapshots are currently shared between solutions (*.sln) from the same directory, but snapshots will be marked and restricted to show only for solutions they belong to,
- Startup project support - the current startup project will be included in a snapshot,
- Floating breakpoints & bookmarks support - when a file is edited, breakpoints & bookmarks' positions will follow and be recalculated,
- Custom bookmark engine - advanced navigation, customization, switching between bookmark sets, etc. The Visual Studio default engine for bookmarks is very limited; it doesn't allow storing bookmark names, and navigation is constrained. However, the ContextKeeper Bookmarks engine will change that,
- Snapshots timeline history - you will have the ability to return to deleted/altered snapshots; every meaningful snapshot change will be automatically auto-saved,
- Last active snapshots timeline - last used active snapshots will be shown without loading the solution/project first,
- Organizing snapshots in folders
- Favorites files list
- Last closed documents list
- Bookmarks & breakpoints behavior configuration
- Option to turn off restoring breakpoints & bookmarks or preserve old ones during restore,
- Removing breakpoints & bookmarks when closing a snapshot.
- Saving vertical scroll position and selected text per file
- Support for opening the same file in "editor" and "design" mode at the same time
- Automatically deleting a branch snapshot if a git branch doesn't exists anymore (after confirmation),
- Visual Studio Code support,
- and more (including secret features not listed above) π₯
Not convinced how much value ContextKeeper brings? I've got you covered.
Below, you'll find a table comparing extensions that work with VS 2022. I've included free extensions, with the exception of Task Canvas, which is a paid one. I've invested several hours in testing Favorite Documents, Workspace Manager, and Task Canvas to get a clearer picture of how they all stack up against ContextKeeper.
Features supported | ContextKeeper | Task Canvas | Favorite Documents | Workspace Manager |
---|---|---|---|---|
Automatic session switching when changing Git branches | β | β | β | β |
Restores full Visual Studio's original documents state | β | β | β | β |
Tabs order | β | β | β | unreliable |
Tab groups (including horizontal/vertical orientation) | β | β | β | unreliable |
Document windows positions & size (including floating windows) | β | β | β | unreliable |
Breakpoints | β | β | β | β |
Bookmarks | β | β | β | β |
Last selected tab for every window | β | β | β | unreliable |
Last active tab among all opened | β | β | β | unreliable |
Visual Studio independent restore engine | β | partially | β | β |
Multiple document windows | β | β | β | unreliable |
Multiple monitors support | β | β | β | unreliable |
Relative path (portable sessions between environments) | β | limited | limited | β |
Maximized/Normal state for document windows | β | β | β | β |
Source control ready sessions files (diffable JSON format) | β | β | β | β |
Continuous session auto-save for branch snapshots | β | β | β | β |
One-click append files | β | β | β | β |
Pinned files | β | β | β | unreliable |
One-click session update | β | β | β(only adding) | unreliable |
One-click restore | β | β | β | β |
Shareable session's file between teammates | β | β | β(one file for all sessions) | β |
Last opened files | β | β | β | unreliable |
Line & column for every file | β | β | β | unreliable |
Non-solution (external) files | β | β | β | β |
Not based on the (broken) IVsUIShellDocumentWindowMgr | β | β | β | β |
Still in an active development (updates in 2024) | β | β | β | β |
Price | $149 | $49 | Free | Free |
Task Canvas
I must say, I'm a bit surprised by how Task Canvas, the only paid competitor, performed in the comparison. It was built with a different workflow in mind, which is why it lacks in certain areas. However, it's still quite powerful and presents an interesting concept with its independent task canvas (separate, physical tab). Kudos to Sergey for trying something different. I'll take a closer look to see if there are any elements from this concept that could add additional value to ContextKeeper. What are your thoughts on this?
Favorite Documents
It appears that the most popular extension is based on the simple VS API - VsShellUtilities.OpenDocument()
. Unfortunately, it lacks more sophisticated use cases. Nonetheless, it's still better than relying solely on Visual Studio's default state engine and the inherently flawed .suo
file.
Workspace Manager
The spiritual successor to the (broken) approach of Save All the Tabs, utilizing the IVsUIShellDocumentWindowMgr.ReopenDocumentWindows()
API. Unfortunately it is nothing more than wrapper for the default Visual Studio state engine, which which has had persistent, unresolved issues for years. It's unreliable, sometimes functioning properly but often failing. My experience with it has been similar to Save All the Tabs, which I tried using with mixed success in the past.
The fail of the Save All the Tabs extension, to deliver a stable and reliable restore mechanism, really push me to work on the a truly independent session restore engine. I distinctly recall my thought process during that time -
If it doesn't work, I'll at least give it a shot and try to build it. There's nothing wrong with failing, but if I succeed, man, one day it'll be a big deal! I will try to make it the state of the art session manager Visual Studio never had, but always deserved.
Later, the engine has become the heart of ContextKeeper. It has taken thousands of hours and years of work to bring it to a state where it is a true pleasure and an enjoyable experience to use, and to have the session manager that Visual Studio has always deserved. π Cause there ain't room for more than one King π in this town.
What's more today?
- unique access to the Lifetime license (only the first 5000 licenses), both personal and business(!), including commercial license for using ContextKeeper, forever, including all future version upgrades, including plugin for Visual Studio and Visual Studio Code π₯ (when available). No subscription fees, unlimited use time and free upgrades,
- lately Visual Studio celebrated 25th Birthday. Iβm sure in 2034 it will be still the major player on the IDE market. I have long-term strategy to create successful business, focused on the next-gen tooling for developers and the ContextKeeper is a key element of this strategy. By long term, I mean at least a 10+ year time horizon. Surprisingly, itβs not so long. NCrunch plugin has been on the market for 13 years, and Resharper for more than 15 years. Both are VS plugins. By investing today, youβre making a real, lifetime deal. No bullshit. Letβs compare how much ContextKeeper will cost you over the years for Personal Lifetime license:
- $349 / 5 years = $70 / year
- $349 / 10 years = $35 / year
- ContextKeeper was born from my pure passion for optimizing daily dev workflow. When Iβve started my software developer career in 2005, I had always this big dream, to create a product that others will love π and to have the opportunity to work on something that I really care about πͺ - devs tooling, neuroscience and cognitive psychology which are big parts of the overall ContextKeeper vision,
- there is a real value behind the offer which you probably recognizes instantly - in the world of subscriptions, especially for devs, Lifetime license is a unseen gem π
How to convince management in a company?
If youβre the only one using ContextKeeper in the company, it is high time β to introduce it to your colleagues, and ask management to buy business licenses for your team.
I have a great example from our business customer:
One of the first emails:
After your email, I started to reconsider and started talking to the management in the company I am working. Currently, there is the possibility, that the company will get one or multiple licenses.
I checked your list and had a quick look at the alternative extensions myself.
As I said in my earlier email, the automatic Git branch switch is really comfortable, but not exactly mandatory. Apart from that nice feature, for me, the biggest selling point for the ContextKeeper was that it also stores breakpoints and bookmarks and does apparently also store more window / context information (like last selected tab, order, position etc.).
and later:
after showing your extensions to my colleagues, the company I work in just bought multiple lifetime business licenses for me and other interested colleagues.
So if you enjoy π using ContextKeeper, please show it to your colleagues, share with them how much value it delivers, among other wonderful features, and talk to the management about buying business licenses.
Your dev team will forever owe you π - π― guaranteed.
Free or discounted licenses for startups, students, open source projects, Microsoft MVPs etc.
If you any of above groups please leave your email here, confirm it in your email client and reply to the first email that comes next providing some additional context.
The ContextKeeper Promise - π― satisfaction or full refund within 90 days
If youβre not satisfied for any reason within 90 days you get a full refund, period, no questions asked. If youβre not amazingly happy, I donβt want your money. Without any asterisks or fine prints. You can give any reason or no reason for the refund: you donβt like something, you need the cash back for something else β¦ You can refund and get your cash back.
The offer sounds good but can I trust you? Will you deliver all those features?
Iβm really glad you asked π! At the end of the day everything is about trust. When you spend you hard-earned money, you want to be sure that you will get high quality, polished product, made by people you know. You want to be π― sure that all those updates will be delivered and the product development will thrive for years.
There are developers, whose trust Iβve already have managed to gain, and I am eternally grateful to them for that.
Maybe you're thinking, 'This is a random guy from the internet. What's his track record? I want to know him better' I've got you covered; follow me.
Piotrβs Track Record
I have been working as a software developer in the industry since 2005, and now the 19th year has just begun. You might ask, 'Have you gotten bored with coding after so many years?' Not in the slightest. My love for computers and coding began very early. I was 9 years old when I got my first Commodore 64. From then on, I always knew that I would be working with computers when I grew up. I had told this to my parents, but they were skeptical. Here we are, 34 years later, and I'm still fulfilling my childhood dream.
Throughout those years, I have designed and implemented many interesting projects. I value your time, so let's keep it short and sweet.
The CNN MagicWall app
I've designed and implemented vote counting algorithms for the 2016 and 2020 US presidential elections within the MagicWall app (.NET, XAML, WinRT, and later UWP) developed for CNN, which was used during election nights. Additionally, I created the National Map module which John King was interacting on the live broadcast in 2016 and again in 2020. This project was both enjoyable and demanding; the app needed to function flawlessly 24/7, airing continuously during election nights. I was also personally responsible for designing the app's automated stress tests from the ground up. All of this occurred while I was part of the incredible team at InterKnowlogy for a couple of years.
During my work, I've begun to specialize and developed an attitude that can be summarized as follows: 'Throw any technologically demanding problem at me, and I will find a solution, no matter what.' I dig deep until I find the solution.
Those abilities helped me when I started working on the first Proof of Concept, which later became ContextKeeper. In 2015, it had the codename CodeDocker:
ContextKeeper's first commit
I've spent the past 40 months bootstrapping (with no VC funding) and working full-time on ContextKeeper since January 2021. I've carefully planned it since 2015 when it was still my side project. Month by month, I've shared progress on the blog. Finally, when the plugin was released in July 2021, I had included the two most requested features in the first roadmap:
- automatic snapshot switching when changing branches
- relative paths support to be able to restore a snapshot in a different dev environment (e. g. new folders structure or an entirely new machine)
Both features have are already been implemented: Git support when changing branches in November 2021 and support for the relative paths in June 2022.
In 2023, there was a truly pivotal moment when support for breakpoints & bookmarks was released. These were the most requested features so far, alongside automatic snapshot switching when changing git branches.
As you can see, I am an experienced marathon runner, consistently delivering results over the years. In 2024, ContextKeeper will be even more polished, offering more exciting and useful(!) features. Consider it done and I will deliver resultsπͺ
π Thanks for your support!
Piotr Karczmarz,
ContextKeeper Founder & CTO