F1… it’s possibly the most feared key on my keyboard when writing code in Visual Studio. At best, it’s going to bring up MSDN help, aka dexplore.exe. That means that I’m in for a very, very long wait. Startup time is 3 minutes on average, and I’m an Athlon 64 dual core @ 2 GHz with 1 GB RAM. The worst case scenario is that something has updated MSDN help and it has to reconfigure itself. The last time this happened, I waited aver 15 minutes. This dialog is like the Medusa of Windows… just the sight of it turns your computer to stone.

I could understand if dexplore were processing SETI data on startup, crunching genome data, or possibly computing sophisticated weather patterns. But let’s be honest, it’s a glorified web browser. All of the help it provides can be found online, and chances are, it’s more up to date online than it is dexplore.

Apparently, I’m not the only one that completely hates the help system. AprilR reports in her blog that Microsoft is overhauling MSDN help based on user feedback. That’s great, but why has it taken so long? The only conclusion I can come to is that Microsoft must simply not use it. If anyone on the Visual Studio development team actually used it, it would have been overhauled a long time ago. It’s a shame too, because the actual MSDN content is, in general, very good.

Maybe someday we can go back to chm. It just worked and did the same job that MSDN does, just a million times faster. Well, everything except online content, but… that’s why I have Firefox installed on my computer (yes, Firefox). I set up my own help launcher macro to spawn a web browser, take the selected text and do a Google search on MSDN and the selected text.

Here’s the macro:

Now, if you go into Tools > Options and select Environment / Keyboard, you can bind Macros.MyMacros.HelpModule.LaunchWebBrowser to the F1 key (or whatever you like). Now, when you press F1, it will go right to Google and search for “MSDN [selection]” where [selection] is any selected text in your active document. It’s faster than launching dexplore and gets better results, at least for my purposes. The one thing it can’t do is determine the type context of your selection, but that can be fixed by by adjusting the search query.

Help is one of the most basic needs of every programmer. It’s an “I use it every day” kind of tool. Give Microsoft your feedback, because if there’s one thing that needs help in Visual Studio, it’s the help.