Join Walt Ritscher for an in-depth discussion in this video Exploring the new Help engine, part of Visual Studio 2010 Essential Training.
For better or worse, Microsoft has created a new help engine. The official name is Microsoft Help 3, and it is the de facto help engine in Visual Studio and MSDN. The claim to fame for this latest version is that it runs in a browser. The goal--or so I've heard--is to make it easier to keep the help files up to date. During a typical install of Visual Studio, you were offered the opportunity to install Help. Whether you chose this option or not, you can still configure and update Help from inside Visual Studio.
Let me show you how that is done. I'm inside Visual Studio, and I have opened a project called ExploringHelpEngine. I'm going to click on the Help menu and choose Manage Help Settings. I've already run Help a number of times on this computer, so I move right into the Help Library Manager. If you're running this for the first time, you might see a dialog that looks like this: Online Help Consent. You also might see this dialog: select local content location.
As I said, I have already installed Help and used it several times, so I didn't see either of those dialogs. Let's return back to Visual Studio and look at this Library Manager. You can choose whether your help runs locally or online. Microsoft suggests that you run online, so you always have the latest content. So I'm going to click on this hyperlink, Choose online or local help, and you can see I already have I want to use online help. If I switch over and say I want to use local help, then I have to tell it where to put the local files.
Now if you run local help, a special help service runs on your computer and intercepts calls from the browser to ensure that features like search work correctly. I'm going to go ahead and click OK here. Now, I need to install some content from online to my local computer. I'll click on this hyperlink. The Help Library Manager will go out to Microsoft and show me the available help libraries. As you can see, there are dozens of these help libraries. I can then click on one-- let's say this IIS Developer.
The help engine tells me that it's going to be a 23 MB download. If I click the Update button, it will download a copy of that file to my local computer, install it, and then tell me it's finished. I am not going to do that today because I am going to use the online help. So I am going to click Cancel here. Then I am going to return to choose online or local help and go back to I want to use online help, and then I'll choose Exit. Let's see how the help engine works.
I'm going to open this Program.cs file by double-clicking on it, and I'm going to scroll down here and look at this System.IO.FileStream class. I'm going to click on the class and then in Visual Studio, all you need to do is press F1 to launch Help. Remember, I have online help configured. So it opens up my default browser--in this case Firefox--and loads the MSDN help file. You can see that this is a FileStream class, and I can see a list of information about the FileStream class.
I can click on this hyperlink to read more information about it. I can click on this C# tab here to read the C# declaration. Otherwise, if I was writing this class in C#, this would be the way I would declare my class. I can read more about the help down here, see some examples in my code, and then I can see, at the bottom, the Inheritance Hierarchy, which platform it applies to, whether it's considered to be thread- safe or not, and which versions of the framework supported the FileStream class. Virtually every single version that has shipped has supported this class.
I can also come down here and see the file members. Here are the constructors of the class. Here are the methods that are available. Here are the properties. Also, I might see some events if the type supports those. I'm going to switch back to Visual Studio, and this time I am to click on the Console.WriteLine. Now there are multiple overloads of this WriteLine function. This WriteLine function takes a decimal value.
This WriteLine function takes a double value. So I'm going to click on this first one and press F1. Now what you see is I'm showing the Console.WriteLine method, and it shows all the different overloads of that method that I just showed you. So there should be one here for a double value. There it is. I'm going to click on this. That takes me to details about the Console.WriteLine method that takes it double. There is a new twist in the MSDN help. If you scroll down to the bottom of the screen, you'll see the section called Community Content.
Microsoft is trying to make it more like a wiki, so that you and I can change the help and add supplemental pieces of information to each help page. So what I could do is if I saw something wrong on this help page, or I wanted to write a more useful example, I could click on Add, log in with my Windows Live ID, and then I could submit my update to the help file. There is one more interesting thing I would like to show you about help.
If I return back to Visual Studio and click on the Help menu, you'll see there's a number of settings in here: Report a Bug, Samples, Customer Feedback Options, and many more. The one I want to look at here is the MSDN Forums. If I click here, it'll take me to the online forums, where I can ask questions and read what other people are doing as far as .NET is concerned. Notice that it has loaded it inside Visual Studio. There is a browser window built right into the Visual Studio engine.
Here are the different forums that are available for me to ask questions. So I might click on this Visual Studio setup, and then I can see there are 7,980 different threads running inside this group. Well, that's about all I have to show you in help. If you're a veteran Visual Studio programmer, you may need some time to adjust to this new help engine. But overall, it's a decent implementation, and it gets the job done.
- Creating a Visual Studio project
- Building the user interface
- Binding to an RSS feed
- Coding with IntelliSense
- Creating rich Internet applications with Silverlight
- Building Windows applications with Windows Forms
- Integrating with SQL Server
- Working with Microsoft Office applications
- Understanding extensibility in Visual Studio
- Working with data, ADO.NET and datasets
- Using source control