April 20, 2011, 2:34 p.m.
posted by geist
The Community Features of Visual Studio
Visual Studio 2005 tries to expand the breadth and reach of the .NET community by making every developer's experience connected beyond his or her local hard drive and network. Its goal is to provide you with important (and targeted) product, development, and learning information where you will find it: in the IDE. It uses Web services, RSS feeds, and community-specific features built into the IDE to ensure you connect with and cull the benefits from the larger .NET world.
The Visual Studio team built these connections and features into the IDE so as to be intuitive and unobtrusive yet readily available. You do not have to go searching to find and connect to your community. Rather, these communities are delivered to you through your development tool. If you are looking to find specific information, just explore, or publish community content, you can do so directly from within Visual Studio 2005. The following sections illustrate what is available from the IDE in terms of the Visual Studio Start Page and the Community menu.
The Visual Studio Start Page
Developers new to Visual Studio 2005 will first encounter the IDE through the Start Page. The Start Page acts as a simple portal to your development experience and includes links to your favorite community. The four principal parts to the Start Page are Recent Projects, Getting Started, Visual Studio Headlines, and the Start Page news channel. Figure shows a sample Start Page in the IDE.
1. The Visual Studio Start Page.
Notice that the sample Start Page (or portal) shown in Figure is for a developer who has set default settings in the IDE to Web Development Settings. The Start Page (and other items in the IDE such as toolbars and layout) will change to reflect the setup of your default profile in the IDE. For example, if you indicate you are a C# developer, your news channel will be set to the C# news, and the Getting Started information will be targeted to a C# developer. Now let's look at each section on the home page.
You can change your default IDE settings in terms of your primary usage (VB, C#, C++, Web, and so on). This will change the IDE and the configuration of your Start Page. To do so, open the Tools menu and choose the Import and Export Settings option. From the Import and Export Settings Wizard, you can not only import or export your IDE settings, but you can also reset all of your settings to a default profile. Selecting a new profile will automatically customize your Start Page relative to the new profile.
The Recent Projects section of the Start Page provides a list of projects you have been working on. This allows you to easily access one or more projects on which you are currently engaged. Of course, clicking on a project in this list will open that project for editing. Figure shows an example of a Recent Projects list.
2. The Recent Projects list from the Start Page.
Note that the Recent Projects list also contains links to open and create other projects not in the list. Using these links, you can quickly start a new project, create a new website, or browse to another project not listed here. Having quick access to these features makes the Start Page more useful as a launch point for your daily development work.
The Getting Started section of the Start Page provides developers who are new to Visual Studio 2005 (or those looking to learn something new) a common place to start. The links in this list typically revolve around creating a new project, using a template or starter kit, answering a question, or learning something new. This feature can be a great launch point for doing your own exploration. Figure shows an example of the Getting Started section from the C# Start Page. Of course, this section changes based on your developer profile (VB, C#, C++, Web, and so on).
3. The Getting Started list from the Start Page.
From Figure, you can see that the Getting Started block provides links directly to MSDN in terms of what's new and similar learning opportunities. You can also connect directly to community-related websites or download add-ins and starter kits.
Visual Studio Headlines
The Visual Studio Headlines section of the Start Page promises to bring announcements and headlines relative to Visual Studio. Figure shows an example. You can see here that the content is less a headline and more a link to MSDN and the feedback center. We expect this feature to evolve into more headline-like content as Microsoft begins to make new announcements.
4. Visual Studio Headlines from the Start Page.
Start Page News Channel
The news channel information is located inside the main section on the Start Page. In Figure, this section was titled MSDN: ASP.NET. Figure provides a closer look at some of the content that is included in this news channel. It bears repeating that the news channel shown in this graphic is that of a web developer. Therefore, content for the news channel is targeted to the concerns of a web developer. Of course, you can choose from a number of additional news channels. Again, these choices are typically set through your developer profile (VB, C#, C++, Web, and so on).
5. The Start Page news channel.
Customizing the News Channel
The news channel is set based on your default developer settings or profile. For instance, if your principal development language is set to Visual Basic, then your start page will include information from the MSDN Visual Basic site. This information comes to the IDE via RSS feeds.
If you are unfamiliar with RSS, you should be aware that RSS stands for either Rich Site Summary, Really Simple Syndication, or RDF Site Summary, depending on which definition you use. The gist is that RSS is meant to provide an XML-structured list that contains summaries and links to key information found within a particular site. With this technology, Visual Studio users can get the published summary of key news items for a particular development center on MSDN.
To customize the Start Page news channel, you use the Options dialog box (which you access by choosing Tools, Options). You select the Environment item from the tree view on the left side of the dialog box. Under Environment, you select the Startup leaf. This will present you with a couple of options, as shown in Figure.
6. Customizing the Start Page news channel.
The dialog box's first option allows you to choose what happens when Visual Studio starts. Of course, we suggest you continue showing the Start Page by default. However, you can also open the last project on which you were working or show one of the open project dialog boxes.
If you choose not to see the Start Page when your IDE starts up, you can still navigate there. You do so by using either the Start Page toolbar icon, shown in Figure, or choosing View, Other Windows, Start Page.
7. Accessing the Start Page using the Toolbar Icon.
The second option, Start Page News Channel, is the focus of our attention. Here, you can set a URL to an RSS feed. This allows for easy customization and connection to any RSS channel. Changing this setting will change the data that is displayed in the news channel section of the Start Page.
Some common news channels and their URLs are listed in Figure. They correspond to the MSDN developer centers Microsoft has created. There are many more developer centers (and RSS feeds) than those listed in the table. For more, look at http://msdn.microsoft.com/developercenters/.
Each URL listed in Figure not only points to an RSS feed that can be put into Visual Studio, but also provides a link to the related developer center on Microsoft's website. Simply remove the rss.xml from the link and you have the URL to the related developer center.
The Community Menu
Visual Studio 2005 now includes a handy Community menu, which provides quick access to various community-related information. The menu exposes a wide range of community-related features, including your ability to get help with a question, send feedback to Microsoft on Visual Studio and .NET, and access .NET-related development sites. Figure shows the Community menu. We will cover each item in this menu in the following sections.
8. The Visual Studio 2005 Community menu.
Ask a Question
The Ask a Question button on the Community menu allows you to search for answers to questions you might have about Visual Studio or the .NET Framework and languages. When you click this button, Visual Studio launches the MSDN documentation explorer and navigates to a general search page for the MSDN Community Forums. Figure shows an example of this search page.
9. Search for an answer to your question.
The MSDN Community Forums allow developers to find information relevant to a common problem or post specific issues and receive feedback from the community. The intent of these moderated forums is to provide a community of developers to aid other developers.
When you reach the forum through the Ask a Question button, inside the IDE you start the process of getting an answer by first searching to find out whether your question was already asked (and possibly answered). As an example, Figure shows a question pertaining to changing the default language for Visual Studio. When you click the Go button, MSDN searches the community forum for relevant matches. Figure shows the matches returned by the sample question.
10. Community Forum search results.
In this example, the results show that someone has already asked a similar question. The green icon with a check mark next to the post indicates that this item was an answer to a question. When you ask a question and receive a reply that answers your question, you are able to mark that reply as an "Answer." This makes it much easier to find real answers to your questions and not have to filter through a large number of replies that did not really answer the question.
Of course, if you do want to see the complete thread (and all related replies), you can do so by selecting the item in the list. Figure shows an example of the thread. Notice how the answer is clearly highlighted.
11. Community Forum answers.
Starting a New Thread
Sometimes when you ask a question, you cannot find an answer. In these cases, you can post the question to the appropriate community forum. If, for example, you cannot find your answer in the search results, you can use the links on the right side of the page (see Figure) to navigate to the appropriate forum.
You would navigate to the Visual Studio General Forum if you were unable to find the answer to the question on changing the default language in the IDE. Clicking this link will take you to the main page for this forum. From here, you can click the New Thread button to post the question to the community. This question/thread will be added to the appropriate forum and marked unanswered. Typically, each forum has a group of people who peruse these unanswered questions and try to provide assistance.
Navigating Forums and Topics
The MSDN Community Forums are organized into a wide variety of high-level forum categories. These categories include web development, .NET, XML, Smart Devices, and, of course, Visual Studio. Figure shows the Community Forums home page.
12. Community Forums home page.
Each forum category is further refined by the actual forums in the given category. You click on a forum category to navigate to the forums list for the given category. You can find forums that may be of particular interest to you in the Visual Studio category. Figure shows the main page for the Visual Studio forums. From here, you can find forums on setup, MSBuild, the Class Designer, and many other IDE topics.
13. Visual Studio Forums home page.
Selecting a given forum will take you to the main page for that forum. From here, you can find information such as announcements, FAQs, top five most-viewed answers, and, of course, actual topics that have been posted to the forum. As an example, Figure shows some of the topics found on the Visual Studio General Forum.
14. Forum Topics.
You may have noticed the many icons next to each topic in Figure. These icons help you to navigate through topics. When doing so, you quickly learn that not all topics are questions and not all questions are answered.
The icons next to each topic help to guide you to the content that is held within a given topic. For instance, a check mark over a document icon indicates that the topic is an answer to a question. Popular items will also have a sun attached to their icon. There are many icons with which you will want to become familiar. Figure shows the icons and what they mean next to a given topic.
15. Topic icon legend.
Managing Your Thread/Topic Alerts
Typically, when you start a new thread or post a new question, you will ask to receive alerts when someone makes a reply to your post or answers your question. In addition, if you find a topic that is of particular interest, you can request to be alerted when new posts are made to the thread. The MSDN Community Forums enable you to receive these alerts via email, instant messenger, or sent to a mobile device. This capability allows the community to stay in touch with its participating members without forcing them to constantly log in and check for activity.
Figure shows some of the options you have for managing forum alerts. Notice that there are basic options and custom delivery. The latter allows for alerts to be sent based on your MSN Messenger status. If you are logged in, you can get an IM; if not, the alert can be forwarded to your email or phone.
16. Microsoft Forum alerts.
Check Question Status
The Check Question Status button on the Community menu provides quick and easy navigation to the My Threads section of the MSDN Forums. From here, you have quick access to the threads you've started, participated in, or to which you've subscribed via alerts. Clicking this menu item is equivalent to selecting My Threads from the MSDN Forums menu.
Most developers we've met love to work with cool software and are always looking for ways it might be improved. This holds especially true for their tools, the biggest of which is Visual Studio. Often you'll think of something that would make for a great addition or perhaps you'll find a flaw (or bug) in the software. Using the Send Feedback button on the Community menu, you can now post your suggestions and log any bugs you find. These items will go directly to the Visual Studio development team.
Clicking the Send Feedback button will take you to the MSDN Product Feedback Center home page. Figure shows an example of this page. From here, you have access to any suggestions and bugs you have submitted; you can also keep tabs on items that you haven't submitted but are still of interest to you.
17. MSDN Product Feedback Center.
In addition to tracking bugs and suggestions, the site provides some interesting community-related statistics. Down the left side of the page, as shown in Figure, MSDN publishes the number of registered users, the total number of suggestions and bugs, and the numbers for the prior week. You can see by these numbers that the .NET community is large and very active.
Report a Bug or Make a Suggestion
The process for reporting bugs and making suggestions is similar to that of starting a new thread in the community forums. That is, the process starts by first searching for a similar suggestion or bug. This helps to reduce the creation of duplicate submissions.
If you do find a similar item to the one you had planned to report, you can vote or annotate (comment) the item. Voting allows Microsoft to prioritize an item in terms of its importance. Both the number of voters and the rating help to influence how the item is prioritized. Adding your comments to an item allows you to provide similar evidence or clarification to a reported bug or suggestion.
Microsoft actively monitors these lists. In fact, most items are marked with Microsoft comments and closed or resolved in new builds and service packs. In addition, if you find a bug for which you know a workaround, you can attach your workaround to the item. This is another way the .NET community can help itself.
Finally, you can help the Visual Studio team by trying to validate a specific bug. Typically, this involves following the "steps to reproduce" as posted by the person who logged the issue. You mark an item as either Can or Can't Validate. This allows the Visual Studio team to know more than one person is experiencing the issue.
Figure shows the Bug Details toolbar across the top of the page. This toolbar contains links to the features we've discussed in this section.
18. The Bug Details toolbar.
Clicking the Developer Center option from the Community menu will load one of the many MSDN developer center sites. Which center is loaded depends on how you've configured the IDE in terms of your primary usage. This is the same setting we discussed in the Start Page section. This setting not only controls your news channel but also sets your primary developer center. Refer to Figure for a list of common MSDN developer centers.
The Codezone Community menu option is a link to Microsoft's list of independent .NET resources. These resources include sites dedicated to the .NET community, individual experts, user groups, and the like. This feature helps to broaden your access to communities outside just the Microsoft resources. These communities typically publish articles, blogs, code snippets, independent forums, and so on.
Codezone (http://msdn.microsoft.com/community/codezone/) membership is granted by the Visual Studio and .NET teams. This membership policy helps to ensure the quality of the sites. Each member is listed on Codezone, along with a description of what he or she adds to the .NET community. In addition, one member is highlighted each month for community effort. Finally, Codezone community members' content is indexed and made searchable through the Community Search feature (see the related section later in this chapter).
If you know a site that should be included in the Codezone community, you can submit it for membership. You do so by sending an email to the Codezone team at [email protected] The email should include the site name, its URL, the primary contact details, and a brief history of the site. The Codezone team reviews each submission and selects its members based on terms they define.
Partner Products Catalog
As the name suggests, the Partner Products Catalog link in the Community menu provides access to Microsoft's partners and their products. The products listed on this site are developer tools and extensions to Visual Studio. Each product is from a Microsoft Visual Studio Industry Partner (or VSIP). The site enables you to browse products by a specific category or do a detailed search to find the exact third-party tool, add-in, or component you're looking for.
The Community Search menu option on the Community menu links you to the search feature inside the MSDN help system. Of course, this search tool covers your local help files. However, it also reaches out to MSDN Online and the Codezone community sites to give you a wider coverage for your search results.
Selecting this menu option from the Visual Studio IDE opens a submenu from which to choose (see Figure). Notice that it allows you to quantify your search by content type. Content types include templates, code snippets, samples, controls, and add-ins. The search tool's content type parameter is set according to your selected option.
19. The Community Search submenu.
A number of parameters control your search. Content type, as we've discussed, is a big one. However, you can also set the development language you are referring to in your search and the technology. Development language indicates that you are looking for community content that is targeted at a particular language (C#, VB, C++, and so on). Of course, as with all of the options, you can select more than one. The technology parameter allows you to narrow your search to a particular set of technologies such as ASP .NET and .NET development. There are a large number of technologies on which you can search.
When you execute a search, the results are grouped by where they came from. This includes your local help, MSDN online, the Codezone community, and the forums (questions). Figure shows the results for a particular search. We will look at using these community results in the coming sections.
20. A Community Search in action.
Managing Search Options
You have some degree of control over Community Search through the Options dialog box. From inside the MSDN documentation, you can access these settings by choosing Tools, Options. You then select the Online item under the Help node. Figure provides an example. You can navigate to this same set of options from within Visual Studio (choose Tools, Options and then select the Help node under Environment).
21. Community Search options.
These help options allow you to set your order of preference in terms of local versus online help. In addition, you can choose the help provider(s) you want to search. This includes turning on and off individual Codezone communities.
If you use a proxy server on your network, you might notice that the search does not work properly in the current release. It seems that authentication to the proxy is not being passed by the help system. Fortunately, a quick search of the community forums provided an answer to this issue.
To fix the problem, you need to change the help system's application configuration file located at Program Files\Common Files\Microsoft Shared\Help 8\dexplore.exe.config. You can modify this file in one of two ways. If your computer is a stationary desktop, you would add the following element to the <system.net> node:
<defaultProxy enabled="true" useDefaultCredentials="true"> <proxy bypassonlocal="True" proxyaddress="http://yourproxy"/> </defaultProxy>
If you use a laptop and have a proxy script that controls when and when not to use the proxy, you would add the following element:
<defaultProxy enabled="true" useDefaultCredentials="true"> <proxy autoDetect="true" usesystemdefault="true" scriptLocation= "file://c:/yourfile"/> </defaultProxy>