I have picked these three features based on my personal experience while working with large Visual studio solutions with dozens of projects. Among many other new features in VS 2019, as documented very nicely here, these features were the ones with maximum boost on my productivity.
Reason 1: Solution Filters ( * . slnf files)
Pain point: If you have a solution with dozens of projects then you must know how time taking it is to load all the projects every time you open VS, even if you need just few projects at that time.
Solution: Use a cool new feature in VS 2019 called Solution filters. Here we open the solution without loading any of the projects up front and it opens right away without any delay, then we reload only those projects that we will be working on. The difference in performance was so obvious that I felt quite sorry for myself for not knowing it earlier. My machine is not freezing anymore while loading solution, building the project or running the tests.
Bonus: Now let’s say next time we wish to open VS with same projects or share this view with others, then we can just save those filtered projects on a special solution file called solution filter file (* . slnf extension instead of * .sln) and can conveniently use it later and share it with teammates.
Documentation: Here’s more detail and a step by step guidance on this.
Reason 2: Single-Click Code Cleanup
After switching to VS 2019, I have been using this feature regularly before my commits and love the convenience. Basically, to use it we just click the Code cleanup icon shown in red circle and it automatically refactors our code based on the Included fixers.
Configuring the fixers is also pretty straight forward. Just click the 🔻button next to code clean up icon inside the red circle and Configure Code Cleanup window pops up as shown in the image above. Now just select items from Available fixers section and bring them upwards inside Included fixers section. That’s it!
Reason 3: Data breakpoints & Search in debugging
Pain points : Watching deep nested properties inside an object feels quite cumbersome during debugging in VS 2017 because we have to manually navigate inside the nested properties one by one till we reach the required property. Even adding conditional breakpoint is time consuming when compared with new Data breakpoints in VS 2019. The Watch window definitely deserved an update, as it was just a plain object view with no features.
Solution: The new Watch window in VS 2019 provides a handy search capability to find properties even in heavily nested objects. Once the property is found, we can just right click on it and select “Break when Value changes” and that’s it, no conditional breakpoint required anymore. It saves me time during debugging and my tendency to procrastinate during debugging has reduced slightly.
On top of new features in debugging the performance is also improved which is clearly observed when coming from VS 2017.