People often asks me which customizations do I use in my Visual Studio.
I think it’s fit that on the day Visual Studio 11 Beta is out I will be sharing my experience with VS2010.
For long time I was captured in a misconception, you shouldn’t customize your IDE, otherwise how do other people are going to be comfortable when you need them to to sit on your chair.
In some ways that habit is hard to quell, proof of that is that I still pretty much use the default VS color scheme (and Yes I’m aware there are better out there), but it’s not that I love white so much, when I used Delphi I stuck to the classic Yellow on Blue color scheme (image below for the young people here )
But nothing is more important than your own productivity. That exactly what I tried to do, reduce friction and enhance my productivity as much as possible.
Note about Resharper, I use this tool a lot, if you care about productivity, you should use it, if your company doesn’t have a license, convince them, it pays back it’s value after a week.
1,2,3 there’s no mouse.
How one becomes more productive, he leaves the mouse alone. Every time your hand leaves the keyboard and go to the mouse is a moment lost, aggregating those moments pile up to be a huge time waster.
First, Remove all toolbars, yes, you heard me, remove all of them. You don’t really need them. I admit that beside the buttons there are some advantages to them when displaying current state, but all in all it’s just not worth it, think of it, how many of the buttons showing up on your visual studio toolbars you really use all the time, 20%? While you are at it counting, take a mental note, do they have a shortcut mapped (most likely they do) open up an excel spreadsheet and write it down for you, it is going to be you friend for next 2-3 weeks, a cheat sheet, every time you forget a keyboard shortcut, look and next time use the mapping. Repeat.
Another mental note, every time you use the mouse to do something, ask yourself, can I do it better? if yes add it to the excel and next time try to use the keyboard to do so.
After a while you begin noticing that there are operations you use all the time, for example for me it was creating a folder in a project, or opening Windows Explorer from a selected item in the solution explorer, that when it’s starting to get fun as there is no keyboard shortcut mapped to it. But this is not what is going to stop us? Open up Visual Studio Tools –> Options and there Keyboard you can pretty much map any command available to Visual Studio.
Here are my custom mappings, feel free to change them to whatever feels comfortable to you.
- Build current selected Project – CTRL + SHIFT + X (I wanted something near to CTRL + SHIFT + B, but CTRL + SHIFT + C is already being used (it iterate through the clipboard ring, you should know that!)).
- Add Reference – CTRL N + CTRL + R.
- Open in Windows Explorer – CTRL + P, CTRL + P
- Create new Folder – CTRL + N, CTLR + N
- Increase Line Indent – CTRL+ K ,CTRL + ]
- Decrease Line indent – CTRL+ K , CTRL + [
- Resharper Find Usage – CTRL + R, CTLR + F
Those are few examples to get you running.
Immediate window is your friend as well (CTRL + D,CTRL + I), opens it up or focus it, type “>” and than you can call every command of VS. I use it a lot to close all windows. I just type “>CloseAll” I will get intellisense as I start typing and bam, didn’t use the mouse .
Real Estate, that’s the secret
Do you know that most users have the Toolbox pane open all the time? why because it’s the default, do you use really use it? do you really use it so it should be open all the time?
Start by removing every pane that you don’t use frequently, Class Viewer, Toolbox, Server Explorer, etc.
Do you see how my VS looks like, notice something interesting it mostly an editor, that what we need to do, crank up code, align things symmetrically, remove distractions.
More VS tweaks
It’s no secret that VS is an hungry resources beast, I managed to improve performance by making some small tweaks.
- Disable the Navigation Bar – It’s a nice feature, but it require the mouse to browse through, I prefer using resharper ALT + \ and type the member I’m looking for. It’s saves you both time and real estate.
- Disable TrackChanges – it’s a feature that shows you a color near every line you have changed. It’s nice, but I want speed, it is considered a feature that damages performance.
- If you are a WPF/SL developer, heed my word, disable the Visual Editor, open in full XAML View option is not enough. right click on a xaml file “Open With…” choose an Source Code (Text) Editor, make it the default, don’t you worry you still have intellisense, in the rare cases I need to actually see the xaml I write, I just open it up in Blend. Editor in the background is responsible for many of VS crashes and slowness.
- If you ever found yourself waiting for “Loading toolbox content from package. It’s a known bug. just remove that Guid from the registry. Do not be passive, hunt everything that goes in your way to be more productive.
Last note about Visual Studio 11
I admit my first reactions to the images coming out from the VS blog were negative, but I am willing to give it a fair chance before I draw a verdict, one thing for certain, the principles described in this post will remain relevant to the next version as well, perhaps even increasing in importance.
I will be fun to revisit this post after a while with VS11.
Do you have a killer feature you believe should be added to this list? Share it on the comments.