C# VisualStudio与DoxyGen一起提供文档,还是应该使用其他工具?
我们目前正在使用DoxyGen来记录用C/C++、PHP和Java编写的代码。为了拥有一个一致的环境,最好也将其用于C#文档 然而,我们想知道:C# VisualStudio与DoxyGen一起提供文档,还是应该使用其他工具?,c#,visual-studio,documentation,C#,Visual Studio,Documentation,我们目前正在使用DoxyGen来记录用C/C++、PHP和Java编写的代码。为了拥有一个一致的环境,最好也将其用于C#文档 然而,我们想知道: 您认为使用DoxyGen以外的工具生成的文档布局或结构有什么优势吗?我们正在为有C#和.NET平台经验的外部开发人员生成文档。也许他们习惯了某种文档格式 DoxyGen与Visual Studio的集成程度如何?是否有某种东西可以从IDE内部一键生成文档 其他文档系统是否与VisualStudio更为集成 Visual Studio没有集成的文档系统
- 您认为使用DoxyGen以外的工具生成的文档布局或结构有什么优势吗?我们正在为有C#和.NET平台经验的外部开发人员生成文档。也许他们习惯了某种文档格式
- DoxyGen与Visual Studio的集成程度如何?是否有某种东西可以从IDE内部一键生成文档
- 其他文档系统是否与VisualStudio更为集成
- 自由微软之路。使用DocXml文档注释,然后使用Sandcastle或类似工具构建MSDN样式的文档。这样做的好处是VisualStudio可以识别文档(对注释进行语法着色),并且Intellisense系统会立即拾取文档(因此,如果您将鼠标指针悬停在正在调用的方法上,工具提示将显示您在文档注释中输入的摘要和参数信息)
- 自由氧系统。这更易于使用和更灵活,但Visual Studio不支持,因此您失去了智能感知和语法着色的优势。另一方面,Doxygen确实解析DocXml格式,因此您可以通过将DocXml格式与Doxygen一起使用来生成外部帮助,从而充分利用这两个方面
- 商业产品,如DocumentX,允许您在所见即所得窗口中编辑文档
- Visual Studio没有集成的文档系统
若您想和其他语言保持一致,可以尝试将Doxygen和用于VisualStudio的插件一起使用
对于C#或.NET文档,存在几种工具,据我所知,使用最多的工具是
最后,您可以检查这一点,它提供了一个小型Python脚本,可以将一些特定于C的标记转换为Doxygen标记。有几个文档选项:
我还建议您看看我的外接程序,它使VS中DocXml、Doxygen、Qt或JavaDoc格式注释的生成和更新更快更容易,是Doxygen和Sandcastle的理想补充。Visual Studio中记录C代码的默认方式是通过。在我看来,这是C#代码的最佳方式,因为Visual Studio中已经集成了对它的支持(注释标记自动完成,警告缺少或拼写错误的参数,…)。要记录一个方法,只需在方法体前面键入三个斜杠(
//
),Visual Studio将插入一个空的注释模板供您填写,如下所示:
/// <summary>
///
/// </summary>
/// <param name="bar"></param>
private void Foo(int bar)
{
// ...
}
//
///
///
///
专用void Foo(整型条)
{
// ...
}
您可以将VisualStudio配置为从所有注释生成XML文件,然后将其输入到文档生成器中,如。如果您想使用,这是没有问题的,因为它支持解析XML注释
总而言之:我建议对C#代码使用XML注释而不是特殊的Doxygen注释。这样你就有了所有的选择。您可以使用组织熟悉的标准Doxygen布局生成文档(因为Doxygen支持XML注释),此外,您还可以选择以.NET开发人员已知的格式生成文档(使用Sandcastle和)
啊,还可以试试….NET开发人员习惯于VS帮助中使用类似MSDN的文档格式。最好直接集成在VS帮助中,因为它提供了一些额外的功能,如F1帮助、过滤器、统一索引和TOC。已经提到了一些工具。我想再添加一个商业一键解决方案 XML文档注释非常有用,因为它们也可以在IntelliSense和对象浏览器快速信息中自动使用。Doxygen可以很好地使用C#doc注释(///)。以正常方式记录代码,并运行doxygen将其扫描到独立的html、chm和pdf文件中。这是迄今为止最通用、最简单、最无创的方法 虽然doxygen没有集成到visualstudio中,但它带有一个简单的IDE,可以作为一个自定义的外部工具编写脚本。就我个人而言,我已经将doxygen集成到我的构建脚本中,并且它可以完美地工作 最后,doxygen是跨平台的(如果您发现需要移植到Mono,这是一个优势),并且比SandCastle(无论是安装还是运行)要快得多
这是一个~1Mloc项目上C#代码的doxygen输出示例:Visual Studio的XML文档叫什么?它是XML文档,而不是doxygen生成的可浏览文档。例如,在使用之前,您必须使用Sandcastle进行处理。我的意思是,如果您使用的是Visual Studio,那么使用内置的XmlDoc功能不需要花费任何费用(而不是购买额外的第三方产品开始使用)。但从任何意义上说,微软提供了大量的免费工具。@EwanTodd XML文档在C#Express(免费)中也同样有效。正如其他投票率较低的答案所述,目前,doxygen还可以理解上面描述的xml注释,没有任何问题stack.nl/~dimitri/doxygen/manual/xmlcmds.htmlI Love GhostDoc-绝对值得一试!谁是决定使用单行注释作为文档注释的真正聪明的人?我的建议是远离GhostDoc。它创建的自动生成的文档可以为您提供一些