【发布时间】:2009-08-06 13:24:46
【问题描述】:
我创建了一个 .NET C# 组件,我将把它作为开发人员工具出售。我的问题是,如何将我自己的自定义上下文帮助添加到方法和属性中。
所以,当我在一个方法上按 F1 时,我希望它转到一个特定的网页。这甚至可能吗?
【问题讨论】:
我创建了一个 .NET C# 组件,我将把它作为开发人员工具出售。我的问题是,如何将我自己的自定义上下文帮助添加到方法和属性中。
所以,当我在一个方法上按 F1 时,我希望它转到一个特定的网页。这甚至可能吗?
【问题讨论】:
使用 Visual Studio SDK 和帮助集成工具包 Visual Studio SDK 的一部分是帮助集成项目类型。关于integrating with help here (MSDN) 的信息。这同样适用于 VS 2005 和 2008。
这是一个link to the download,用于早期版本的 VS(05 之前)。
有一个关于 Visual Studio SDK 的 entire development center。
工作量感觉比发送 .Chm 和/或 IntelliSense 文件要高得多,但我知道您想添加示例等。
考虑是否值得努力 您是否在 IntelliSense 文档文件 (.xml) 中为所有组件的程序集提供了足够的信息?
通常,这足以提供大量信息,包括附加备注、注释等。
我可能只是偏向于我和我同事的开发工作流程,但我不记得上次看到有人在 Visual Studio 中按“F1”是什么时候。
另外,如果您真的想要一个完整的 .Chm 帮助文件,那么借助 Sandcastle 和以前的 NDoc 之类的工具,您的 XML 文档 cmets 可以毫不费力地变成那个文件。
【讨论】:
除了传统的 F1 帮助之外,我发现 Sandcastle 创建的 CHM 文件在部署任何可重用的库和框架时都非常有用。 GhostDoc 已被证明对于创建 Sandcastle CHM 文件所需的代码内 XML 非常有用。 Sandcastle 还可以选择创建 MSDN 样式的 HTML 帮助文件以及久经考验的 CHM。
【讨论】:
上下文帮助是通过代码中的 XML 文档生成的。
如果您不熟悉它,在 C#.NET 中,您可以通过在方法签名前键入三个连续的正斜杠来记录函数:
/// <summary>
/// What Foo() does...
/// </summary>
/// <param name="bar">What bar is...</param>
/// <returns>What the return int is...</returns>
public int Foo(string bar)
{
// Does something...
}
在 VB.NET 中,我相信它是三个撇号。
【讨论】:
假设您熟悉使用 xml cmets 创建 xml intellisense 文件,并且可以使用 sandcastle 单独生成 .chm 文件,那么缺少的部分是 F1 集成。
这篇文章很古老但表明how to do it with VS 6.0 era help
那里的 cmets 将您引导至the 2003 integration kit
除此之外,您似乎还必须下载实际的 VS SDK。
This page 似乎是最新的(它有关于 2010 年变化的信息)
【讨论】: