I suggest you ...

Allow external libraries to integrate their documentation in Visual Studio (F1)

For as long as I can remember, the Visual Studio IDE allows us to go to the documentation of a class, method or property that's at the cursor's position, after pressing F1.

This however only works for types and members that are part of the BCL or other Microsoft related stuff. This does not work for open source libraries or commercial libraries from ISVs.

For the usability of those external libraries, I believe it to be important if they can integrate in an easy way with the Visual Studio IDE F1 Help experience, but as far as I can see, there is no way (or at least, no easy way) to do this.

My suggestion is to let the next version of Visual Studio allow to jump to a certain web page after pressing F1, if that member or type is decorated with a certain attribute.

For instance, VS could look for an attribute named `ExternalHelpAttribute` with an `Url` property. VS should use duck typing and allow each library to define its own (internal) attribute with that name in its assembly. This allows libraries that cannot take a dependency on the newest .NET framework to still integrate with the newest Visual Studio, which cannot be done when the attribute is added to the newest .NET fx.

This would look like this:

[MyLib.ExternalHelp("http://myproject.com/help/Foo")]
public class Foo
{
[MyLib.ExternalHelp("http://myproject.com/help/Foo/Ctor")]
public Foo() { }
}

20 votes
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    I agree to the terms of service
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    .NET Junkie.NET Junkie shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →

    2 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      Submitting...
      • .NET Junkie.NET Junkie commented  ·   ·  Flag as inappropriate

        @John: That would be a great idea. I imagine an attribute that contains a GetHelpUrlFor(Type type) method and a GetHelpUrlFor(MethodBase method) method. This allows the documentation to easily generate the url based on the structure of the online help file (or lookup the url in an internal dictionary or the resource file).

      • John CrimJohn Crim commented  ·   ·  Flag as inappropriate

        I'd love to see the attribute be an assembly level attribute - then the default document for a class would be a relative URL based on the position of the class within the assembly.

      Feedback and Knowledge Base