Visual Studio与DoxyGen的文档,或者我们应该使用别的东西?

我们目前使用DoxyGen来编写用C / C ++,PHP和Java编写的代码。 为了有一个一致的环境,将它用于C#文档也是很好的。

但是我们想知道:

  • 你使用DoxyGen以外的东西在生成的文档布局或结构中看到任何优势吗? 我们正在为使用C#和.NET平台的外部开发人员生成文档。 也许他们习惯于某种文档格式?
  • DoxyGen与Visual Studio的集成程度如何? 有没有什么能够从IDE内部一次性生成文档?
  • 其他一些文档系统是否与Visual Studio更加集成?

在Visual Studio中loggingC#代码的默认方式是通过XML文档注释 。 在我看来,这是去C#代码的最好方法,因为对此的支持已经集成在Visual Studio中(注释标记自动完成,关于丢失或不正确拼写参数的警告…)。 要logging一个方法,只要在方法体的前面input三个斜线( /// ),Visual Studio就会插入一个空的注释模板来填充,如下所示:

 /// <summary> /// /// </summary> /// <param name="bar"></param> private void Foo(int bar) { // ... } 

您可以将Visual Studioconfiguration为从所有注释生成一个XML文件,然后将这些注释input到像Sandcastle这样的文档生成器中。 如果你想使用Doxygen ,这是没有问题的,因为它支持parsingXML注释。

总结一下:我会推荐使用XML注释来处理C#代码的特殊Doxygen注释。 这样你有所有的select。 您可以在组织熟悉的标准Doxygen布局中生成文档(因为Doxygen支持XML注释),而且您可以select以.NET开发人员已知的格式(使用Sandcastle和Sandcastle Help FileBuilder )生成文档。

啊,也试试GhostDoc …

文档有几个选项:

  • 免费的微软方式。 使用DocXml文档注释,然后使用Sandcastle或类似的工具来构buildMSDN样式的文档。 这样做的好处是Visual Studio可以识别文档(语法颜色注释),并且文档可以被Intellisense系统即时拾取(所以如果将鼠标指针hover在您调用的方法上,工具提示将显示摘要和参数信息,您在Doc注释中input)

  • 免费的Doxygen系统。 这是更容易使用和更灵活,但不支持的Visual Studio,所以你失去了intellisense和语法着色的优势。 另一方面,Doxygen会parsingDocXml格式,所以您可以通过使用DocXml格式的Doxygen来获得最好的结果。

  • 像DocumentX这样的商业产品,它允许您在所见即所得的窗口中编辑文档。

我build议先从DocXml注释和Doxygen开始创build外部帮助,因为这是最便宜,最简单的入门方式,并保留了VIsual Studio(intellisense等)的所有最佳function。

我还build议你看看我的加载项, Atomineer Pro Documentation ,它使得在VS中DocXml,Doxygen,Qt或JavaDoc格式的生成和更新变得更快,更容易 – 这是对Doxygen和Sandcastle的理想补充。

Doxygen可以使用C#doc注释(///)就好了。 正常编写代码,运行doxygen将其扫描为独立的html,chm和pdf文件。 这是迄今为止最通用的,简单的和非侵入性的方法。

虽然doxygen没有集成到visual studio中,但它带有一个简单的IDE,可以作为自定义的外部工具轻松地编写脚本。 就我个人而言,我已经将doxygen集成到我的构build脚本中,并且工作起来非常完美。

最后,doxygen是跨平台的(如果您需要移植到Mono,这是一个优势),并且比SandCastle快得多(可以设置和运行)。

这是〜1Mloc项目上C#代码的doxygen输出示例: http : //www.opentk.com/files/doc/annotated.html

.NET开发人员习惯于VS帮助中使用的类似于MSDN的文档格式。 最好直接集成在VS帮助,因为它提供了一些奖励function,如F1的帮助,filter,统一索引和目录。 已经提到了几个工具。 我会再添加一个商业一键式解决schemeVSdocman 。

XML文档评论是伟大的,因为它们也自动在智能感知和对象浏览器快速信息中使用。

Visual Studio没有集成的文档系统。

如果你想保持与其他语言一致,你可以尝试使用Doxygen与Visual Studio的Doxycomment Addin。

对于C#或.NET文档,存在几个工具,而且最常用的(据我所知)是Sandcastle 。

最后,你可以检查这个博客条目 ,它提供了一个小的Python脚本,将一些C#特定的标签转换成Doxygen标签。