【问题标题】:How can I produce a CHM help file based on source documentation comments? [duplicate]如何根据源文档注释生成 CHM 帮助文件? [复制]
【发布时间】:2012-06-09 23:26:09
【问题描述】:

可能重复:
Code documentation for delphi similar to javadoc or c# xml doc

我一直在我的大部分全球资源(如业务规则、组件/控件等库)中使用 RAD Studio Delphi XE2 的文档功能。这会在源代码中各种事物的声明之前放置一些注释文本,如下所示:

type
  ///   <summary>
  ///     This class is used for this and that.
  ///   </summary>
  TMyObject = class(TObject)
  ....

甚至

/// <summary>
///   This function does this and that.
/// </summary>
/// <returns>
///   This is the result of what DoSomething produces.
/// </returns>
/// <remarks>
///   DoSomething is only a sample function for demonstration purposes.
/// </remarks>
function DoSomething: String;

我这样做的主要原因是,当您将鼠标悬停在符号上时,当它显示洞察力时,它将包含此文档文本。例如,在一个完全独立的单元中,将鼠标悬停在文本DoSomething 上,它会显示一个提示框,其中包含本文档中所写的确切文本。

提示:按Ctrl+Shift+DCtrl+Alt+D(我在不同的PC 上都看到过),它会打开一个窗口,让事情变得更容易。我在按Ctrl+Shift+S 保存时偶然发现了这个,但不小心点击了D

我想知道如何将此文档导出到 CHM 帮助文件?我想制作一个链接到我的库的帮助文件,以便开发人员可以在代码中使用 F1 并查看代码的作用说明。就像标准的 Delphi 源文档(和大多数其他语言)一样。

【问题讨论】:

  • 我的第一反应是推荐 Microsoft SandCastle,但进一步看,我认为您正在寻找的东西还没有。但是有一个很好的替代方案,称为 SynProject,如该线程中所述:stackoverflow.com/questions/236047/…
  • 副本中的任何其他解决方案是否明确利用了我在问题中演示的 XML 文档?还是他们需要完全不同的方式来创建文档?
  • 我的意思是,正如问题中所述,我的大部分源代码已经使用这种格式记录——这似乎是 XE2 中的标准(因为悬停在符号上会显示此信息)。我需要能够使用这里已有的东西,并将这个来源作为唯一来源。在两个不同的地方维护相同的文档是很困难的。
  • 他们扫描您的代码并使用 cmets 生成起点。我只记得要尝试另一种商业用途:doc-o-matic.com/features.html -- 我认为这正是您要寻找的东西。
  • 您使用 Ctrl+Shift+D 偶然发现的那个窗口是 DevJet Documentation Insight 插件,它现在与 Delphi 捆绑在一起。目前还没有任何可用的信息,但请查看this page 的第二条评论,来自 DevJet 的 Paul 说他们正在开发一种工具,可以直接从源代码生成多种格式的外部文档。此外,由于您是源代码文档的忠实用户,我建议您为 Documentation Insight 插件购买 v2 升级版。

标签: delphi documentation delphi-xe2 chm helpfile


【解决方案1】:

它不是 CHM 文件,但如果您使用 Delphi Enterprise 或更高版本,IDE 使用您正确格式化的源代码 cmets 具有 ability to produce documentation

【讨论】:

  • 您指的是我在答案@KenWhite 中链接到的文档生成功能(建模功能的一部分)吗?如果是这样,那么根据 XE2 功能矩阵,它仅适用于 Enterprise 及更高版本(尽管我无法访问 Pro 来确认)。如果这是您正在谈论的另一个功能,请您链接到它,因为我有兴趣看看。谢谢。
  • 其实,没有。 (我很高兴我没有投反对票。)您提供的链接实际上是从未知道存在的功能。我仍然不确定这就是 Jerry 正在寻找的东西(问题似乎是指将 XMLDoc cmets 直接转换为 HTML,并且我认为您的答案提到了 XMLDoc 支持),但感谢您提供的信息。我喜欢学习我不知道的东西。 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-07
  • 2012-03-26
  • 2012-12-29
  • 2011-02-19
  • 2022-12-19
  • 2020-03-25
相关资源
最近更新 更多