Have you ever wished that hitting the F1 key in Visual Studio actually returned good search results in a quick manner?
Personally I think the F1 key returns decent results, but there certainly are a lot out there who don’t. I mostly work in .Net so I’m in the camp of users that F1 works well for.
The think I really don’t like though is the 30 seconds or so it takes to launch the help window. Once you’re there navigation is pretty painful.
For the last several years I’ve all but abandoned F1 and just search Google with “msdn” and my search term. 95% of the time this returns exactly what I want in the first hit.
Wouldn’t it be nice if we could make Visual Studio do this for us? Well, we can, and have been able to for years!
Check out OriginalGriff’s solution on Code Project. He clearly outlines the steps and I have to say his solution is quite nice and tidy.
However, I had two very minor criticism, purely for my own tastes. This solution opens the webpage inside of Visual Studio’s web browser inside the IDE. This works, but I really like using my own default browser (currently Chrome). This allows me to open up various hits in several tabs and bookmark interesting solutions. I can’t do that in the VS browser window.
Second is it grabs the selected text and performs the search on this. If you don’t select anything it just opens up a search for “msdn”. The original F1 functionality use to search whatever word your text cursor was on, nothing had to be selected. I’m lazy and I like this ability.
Last, but not least, as I was writing this blog post and stated above that 95% of the time my search term came up in the first result it hit me. If I think that what I want will be my first hit, why not just return Google’s first result; the equivalent of hitting the older I’m Feeling Lucky button on Google’s home page. If you look at Griff’s solution you will see below it that I proposed an alternate solution that adds these three features. Now, when I hit F1 or Shift+F1 I, respectively, get the Google search or the first hit directly.