SolutionBook for Visual Studio 2019

Posted on June 20, 2019 in hacks

For many years, I have used the excellent SolutionStartPage extension for Visual Studio 2015 and 2017. This extension replaces the default Start Page with a customizable view of all my solutions. It is like a giant start menu: fire Visual Studio, pick the solution you want to work on.

Alas, Visual Studio 2019 has replaced the start page with an entirely different start window, which cannot really be modified, entirely breaking SolutionStartPage (see issue #25). There are a few discussions about the future of the start page on Visual Studio's developper community (see for instance this one) but it does not seem that Microsoft is going to address the situation anytime soon.

And, this makes working with Visual Studio 2019 way more annoying. I was really used to just firing Visual Studio and opening a frequently-used solution, without having to think about where it is on my disk.

Problem → Solution

So... I spent a couple of evenings putting together a replacement for Visual Studio 2019, and... SolutionBook is now available on the Visual Studio MarketPlace with code in its own GitHub repository.

This extension installs a new Visual Studio tool window, which can be displayed with View | Other Windows | SolutionBook, and docked anywhere—I dock mine to the left, with the already existing Toolbox tool window.

It lets you organize your solutions in a tree. It's always there when Visual Studio opens, and double-clicking a solution just opens it. You can add and remove solutions, move them around, group them in folders, etc. That is all. It saves me tons of time. YMMV.

Note: you have to save your changes using the toolbar button. Saving is not automatic. And it won't tell you if you forget. And the Refresh toolbar buttons reloads from disk. This is how concurrency between multiple Visual Studio instances is (not) managed.

Another note: this was all quickly put together. WPF is fantastic but also hard. There may be issues, and it's probably not the cleanest code I have produced. Saving and refreshing should be all automagic. Feel free to contribute!


There used to be Disqus-powered comments here. They got very little engagement, and I am not a big fan of Disqus. So, comments are gone. If you want to discuss this article, your best bet is to ping me on Mastodon.