Exclusive First Look: Add New Online Templates… or other community components in VS 2005


You won’t even see this stuff in the next tech preview drop!  Marie, who works on my team, has been doing some PM work around easily pulling community content into Visual Studio.  I think of this as enabling VS to be a more living product.  Anyway, I asked if I could give you guys (and gals) a first look at how the feature is shaping up so we could gather some more feedback while we are still in screen-shot mode.  I’ll let Marie take it from here…





You may have seen the “Add New Online Templates…” icon in the New Project dialog in the latest Visual Studio 2005 Technology Preview. You may have even tried clicking on it and were disappointed to find out that the feature was not yet implemented. I’m working on this area for Whidbey Beta 2 and would love to get your feedback on the design of this feature.


In Beta 2 you will be able to search the community and MSDN for component items such as Project Templates, Item Templates, Code Snippets, Samples, and Controls. Then you can import this content into VS for use.


Below is a preview of the current design for the Search feature, I’d appreciate your input in the following areas:



  1. Do you consider searching for Code Snippets, Samples, Project Templates, Item Templates, and Controls as a different activity than searching for Help topics?
  2. Do you think it would be better to search for Help topics and Components on one tab instead of having a separate tab for Online Component search.
  3. Do you feel your knowledge of how Help Search works would help you use a similar but separate Online Component search tab.

To help you find online community components we would implement an Online Component Search tab in Help. The Online Component search tool window would be launched from the community menu or other context relative entry points (with “Components” filter set based on entry point) in DExplore or inside VS depending on whether Help is internal or external.



Clicking on the title of a component would link to the community website from where you could download the content:


Comments (12)

  1. josh ledgard says:

    Anything specific that you really like about it?

  2. Paulo says:

    Well, from what i see in the screenshots, it seems that you are in the right way. Definitly separate tabs for searching code snipets, etc. from help topics are better, i would say "a must". Keeping the tabs objective and separate will help users to focus and retrieve information, that they are looking for and not a bunch of other stuff, that only gets in the way. So keep up the good work and give us the beta2 really soon.

  3. Thomas Wagner says:

    Definetly keep Help and this sort of thing seperate. Does your search run better than Google? Is it more thorough? In the end I still have to open the resource, find the code and copy the code, so I’m not sure what integration with the IDE buys – other than addl. clutter. I can presently fire a macro in VS 2003 that takes a currently highlighted word and searches Google automatically. Smaller, cleaner, better search capability and less clutter…… Sorry to be a party pooper.

  4. Adam Hill says:

    I would like you to keep both separate, but with a checkbox to combine the two, if i wanted to do so.

    Another ‘Searchable’ piece you should include is the ability to subscribe to an RSS feed of snippets or examples and allow tags in the body of the article to indicate code vs keywords vs body text.

    Wouldn’t that be cool, teams could take ‘how do I do X’ questions (or even MVP’s) and post them to an offical MS technology feed for subject X and we would get a neverending stream of useful info.

  5. Stephane Rodriguez says:

    Any reason why Don Box should appear in the results for "charts" ? I am not sure this guy develops the latest chart library. But may be we are talking the guitar charts? While we are it, is the default rank the opposite of what it usually does. That would indeed make sense to the above.

  6. Can I just ask… how are you grabbing the content from these web sites? (and how are you going to be deciding which to include?)

    Cheers 🙂

  7. The first screen shot looks good. You can never have too many gradient fills!

    There are a few things I am not sure about:

    – Why is this in Visual Studio? What is this doing that a web page couldn’t? If it was in a web page I could pick my own browser and use all the features in my browser that I already know (like middle clicking to open a window in a new tab etc).

    – Is there a way to limit content? I might want to exclude commercial libraries or .Net stuff or anything to do with Windows CE (this would have to be well thought out so it would be possible to say "not Windows CE" and not see anything that is related to Windows CE except when it is related to Windows CE AND a topic I am interested in and still show general content).

    – Is there a way to view the results in a short format (headline and ranking perhaps) so I can scan for things I have used before?

    – How will this work with the MSDN library? The ability to have links from MSDN of articles would be nice (for example from the CreateFile documentation to Raymond Chen’s article on file access rights). Links from API documentation to knowledge base articles about related bugs would be nice as well (for example the GDI function GetObject could link to Q186586).

    – With Visual Studio trying to do so many things for so many types of developer, I wonder if the help options could benefit from some UI that is shown on first run that allows the user to select what kind of developer they are (eg "Win32 C++, no .Net" or "ASP.net web monkey") to avoid having to set up filters for this and MSDN library and anything else.

    – It would be nice to have a quick way of attaching notes or code snippets to documentation (either locally, with in a company or to share with the world). Some libraries (eg the STL) have idioms for achiving certain tasks and it would be nice to be able to link them with their documentation.

    Sorry if this post is a little negative. It is great that you are thinking about this kind of thing and it could make writing Windows programs a lot easier.

  8. Marie Hagman - MS says:

    Thanks for all the great feedback!

    The content that is displayed in the search window is attributed with title, author, rating, abstract, etc. by the content provider. The search results from community sites that are part of the Microsoft Code Wise Community are federated together under the "Code Wise" tab in both Help Search and Online Component search. Anyone will be able provide a web service with content and a VS user can add that provider in Help Tools > Options. Then the search page will include results from that provider.

    Why is this in VS? – It’s the first step in providing more community integration and introducing users to developer community content they may not otherwise discover on their own.

    Is there a way to limit content? – Filtering and specific search strings should return relevant results.

    Is there a way to view results in a short format? Yes. Currently Help supports 2 line view and will also soon support single line view.

    It’s true that VS does many things for many types of developers. User profiles will help create a context for what information is relevant to a particular user.

  9. Saurabh Jain says:

    You can read about the Code Wise community at http://www.gotdotnet.com/content/codewise/.

  10. Munish Gupta says:

    Q. Do you consider searching for Code Snippets, Samples, Project Templates, Item Templates, and Controls as a different activity than searching for Help topics?

    A. In short YES.

    Long answer: search for help topics for me is usually of two types:

    1. Search for something that I know but can’t remember. Like what does an argument of a method really mean or when I know that there exists a function for doing some task but can’t remember its exact name and so on.

    2. Search for something that I know conceptually but not code wise or for some code problem that I am simply not able to solve. For these I go to google groups, msdn search and community sites; usually in that order.

    For type 1 searches I just want a "quick and simple search" which may be suggests the spelling of search item that I have typed (like google does). But in general just gives me a quick help page and let me go on with my work.

    Type 2 searches are usually more comprehensive and require many cross references since my problem may not get solved by just one site/log/help topic. Now code samples may be involved and even question/answer type discussions. This usually takes a longer amount of time and requires assimilation of content from various places.

    So finally, yes keeping snippets,samples,community sites etc. separate on a tab will be helpful as keeping type 1 searches simple, short and fast are very important for a big percentage of my work. Cluttering them with too many results won’t help at all.

    Q. Do you think it would be better to search for Help topics and Components on one tab instead of having a separate tab for Online Component search.

    No. Refer to previous answer. But for Type 2 searches as I described above, it could make more sense.

    Q. Do you feel your knowledge of how Help Search works would help you use a similar but separate Online Component search tab.

    A. Yup it sure will.

    Keep up the good work guys. I sure hope VS2K5 will be a great leap over 2K3, atleast as far as "help" is concerned 🙂