Keyboard Shortcuts of the Trade
I’ve always been a huge fan of keyboard shortcuts, they save you time after all, so who wouldn’t be a fan? Given the universe of keyboard shortcuts available in Visual Studio 2010, I’m always interested in seeing which ones fellow colleagues use versus what I use, as it never hurts to increase your productivity. With that being said, this first part of this post is dedicated to calling out my basic arsenal of shortcuts for this software package. Should any of my readers have some additions they deem absolutely life-saving, call them out!
Ctrl K, Ctrl K Toggle bookmark Ctrl K, Ctrl N Next bookmark F5 Run (typically used for simple applications) Ctrl F5 Run and keep window open (applies to console applications only) F9 Toggle breakpoint on and off F10 Step next (Debugging) F11 Step into (Debugging) Ctrl M, Ctrl O Collapse outlines Ctrl - Step back a location Ctrl Shift - Step forward a location F12 Go to definition Shift F12 Find code references (use full text search for finding client-side references) Ctrl Shift B Full build
All too often I find myself jumping between one body of code and another (and potentially a third or fourth!). This is why I place so much value on the bookmark shortcuts, particularly since they can be used across both markup and implementation files.
Another shortcut worth highlighting is the collapse outlines shortcut. When working with a meaty project and trying to navigate around, I find it very useful to be able to quickly collapse everything to get a bird’s eye view over all that’s going on in a particular file. This can sometimes be misleading though when there are numerous nested regions at play, but for the most part, very useful shortcut!
Stepping back and forward locations is hugely useful when you are diving deep into a particular stack trace or perhaps f12′ing very deep into a body of code and you need to work your way back to where you began. Living without this shortcut is akin to living without a back button in a web browser.
Tools of the Trade
Now we get to the topic of super useful developer tools. This list could be super long, but I’ve widdled it down to the list of what I’d install right out the gate if working with a fresh OS install.
ILSpy
This tool is very similar to another more well-known one called Reflector, used for inspecing assembly packages (that aren’t obfuscated). The only major difference is Reflector went to a paid version only I believe, at which point a colleague stumbled upon this one, which is free.
Fiddler
If you do any serious amount of web development, you absolutely can’t live without this tool. It is basically a packet sniffer for web requests and responses. Given the “chatty” nature of the web these days with everything funneling through silent AJAX calls and such, it is extremely useful to have this detailed view of the individual HTTP GET’s and POST’s to be able to troubleshoot issues, both at the server level as well as the client level (JSON and the likes).
DebugView
This tool is great for debugging. It allows you to hook onto the machine’s trace stream per se. So if you’ve got an application you’ve just thrown down some trace statements in and you execute it, this little tool will spam all your trace statements into its GUI. Think of it as an addition to typical logging, such as Log4Net
Firebug
Rich jQuery work these days wouldn’t be the same without this one tool. With the advent of dynamic DOM’s, thanks to the robustnes of the jQuery libraries, this tool enables you to see DOM changes live as they take place based on whatever client-side events occur. Without this tool, you’re essentially flying blind, although to be fair, we now have fairly competitive choices with the latest Chrome and IE browsers, but for quite a while there weren’t other options.
Notepad++
This is more of a personal preference, but I love this tool if for no other reason than it supports opening virtually anything and has some very handy utilities for auto-formatting commonly mal-formatted file types such as HTML and XML.
Beyond Compare
When dealing with code comparisons, or in particular, code merging conflict resolution, this tool is extremely valuable and hooks into TortoiseSVN perfectly.
TortoiseSVN
This little tool hooks into the windows shell to allow you to leverage Subversion using a graphical GUI without having to go old-school on it via command line. If you use SVN (which is excellent) for code management, you can’t live without this add-on.
LINQPad
This tool is very handy if you need to throw some LINQ directly at a particular database without going through your typical application layer. Be sure if you use this tool to pay for the upgrade, as the intellisense integration is definitely a life-saver and worth it.

