To the skaters out there you’ll recognise the familiar phrase “What’s Your Setup?”.
Your "Setup" is all of the pieces and parts that go into your skateboard. It's pretty rare to find two skaters with the same setup, and hearing about what other skaters use, and why, is a great way to learn about new options, and pick fights. [ref]
For developers using Visual Studio it is a similar story. I am a generalist developer, very lucky to have work types split over developing and supporting; embedded microcontroller programming, ERP Add-in development, Windows Forms, WPF, ASP.NET web applications and more. I also work 50-50, VB.NET-C#.
Visual Studio has embraced a pluggable architecture (MEF), allowing the base product to be changed with plug-in extensions. I thought it might be interesting to look at how I have set my Visual Studio up. I work over many machines between work and home and over virtual machines. My setup is consistent, helped by the user awareness that Visual Studio has these days. Some of these extensions I’ve picked up from co-workers, or going to developer talks, others from stumbling on them.
Currently running the “dark” colour theme, I resisted for a couple of years, convinced that I preferred the original light version but I’m a total convert now. Some of the windows clearly have not yet been updated to properly flow with the theme but I live with that. Dark theme makes the syntax highlighting punch out much more (for me) and is less tiring on the eyes (I think).
At work I use Team Foundation Server for source control and Application Lifecycle Management (ALM) , and Git extensions for source control on home projects.
This every x mins shelves my current workspace into a shelf set, the solves the auditors worry over hardware failing and thus us loosing too many days or hours work since the last check in. It is amazing how often a quick update or change leads to a project being open and worked on for a couple of weeks, you never know when that SSD might go pop…
It also makes it easy for others in the team to pick my work in progress up, say after a huddle, with no effort from me.
I can’t spell, look at the comments and variable names in my circa 2003-7 code and you see why I need this feature. The spell checker is awesome in this add in, after remembering to switch it to EN-GB from EN-US. Just look at all the lovely settings, it is very code aware.
RegEx comes into development a lot, I personally love creating regular expressions, this tool lets them be tested using the same regex engine as the code, in a dockable window right inside the IDE!
Productivity Power Tools
This extension has biggest impact on my experience. Yes, when you first start using it, it adds lots of extra visual noise into the development environment, but once you get used to it, your productivity will increase and you’ll miss it if its not installed. I work with the tabs on the left, they are colour coded by project and sorted by project. The names on the tabs are much easier to see for the files and it just makes sense with a wide screen monitor and lots of files open to have them there.
Important for quickly diagnose any problems in your live application.
The following are other standard extensions that are important but next tier down in my frequency of use, i.e. I can work without them most of the time.
For hardware projects
For work with Raspberry Pi, Arduino hardware and other maker activities I have these two
I also have templates installed for developing Microsoft Dynamics Plugins, see: Visual Studio 2015 Dynamics GP Addin Project Templates Install
I’m loving the visual studio experience, being able to hover and see the out of view start of code blocks,
The new code lens type features and light bulb suggestions are great, although i have a gripe that it is far too slow compared to the old rename variable.
The built in diagnostics are really handy for looking at object disposal and performance tracing.
Extensions give so much more, as does delving into settings to see what is there.
I will add to this post as I think of other things I do with Visual Studio…