C# VisualStudio与DoxyGen一起提供文档,还是应该使用其他工具?

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/C++、PHP和Java编写的代码。为了拥有一个一致的环境,最好也将其用于C#文档

然而,我们想知道:

  • 您认为使用DoxyGen以外的工具生成的文档布局或结构有什么优势吗?我们正在为有C#和.NET平台经验的外部开发人员生成文档。也许他们习惯了某种文档格式
  • DoxyGen与Visual Studio的集成程度如何?是否有某种东西可以从IDE内部一键生成文档
  • 其他文档系统是否与VisualStudio更为集成

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

      若您想和其他语言保持一致,可以尝试将Doxygen和用于VisualStudio的插件一起使用

      对于C#或.NET文档,存在几种工具,据我所知,使用最多的工具是


      最后,您可以检查这一点,它提供了一个小型Python脚本,可以将一些特定于C的标记转换为Doxygen标记。

      有几个文档选项:

      • 自由微软之路。使用DocXml文档注释,然后使用Sandcastle或类似工具构建MSDN样式的文档。这样做的好处是VisualStudio可以识别文档(对注释进行语法着色),并且Intellisense系统会立即拾取文档(因此,如果您将鼠标指针悬停在正在调用的方法上,工具提示将显示您在文档注释中输入的摘要和参数信息)

      • 自由氧系统。这更易于使用和更灵活,但Visual Studio不支持,因此您失去了智能感知和语法着色的优势。另一方面,Doxygen确实解析DocXml格式,因此您可以通过将DocXml格式与Doxygen一起使用来生成外部帮助,从而充分利用这两个方面

      • 商业产品,如DocumentX,允许您在所见即所得窗口中编辑文档

      我建议从DocXml注释和Doxygen开始生成外部帮助,因为这是最便宜、最简单的入门方法,并且保留了visualstudio(intellisense等)的所有最佳功能


      我还建议您看看我的外接程序,它使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。它创建的自动生成的文档可以为您提供一些