使用Visual Studio查找丢失的XML注释内容

8

我们的C#源代码中有很多注释,但很多都缺少实际内容,就像这样:

/// <summary>
/// </summary>

或者这样:
/// <summary>
///
/// </summary>

或者是这样的:
/// <param Name="flag"></param>

很遗憾,Visual Studio没有为这种类型的缺失注释生成警告。但是对于我们来说,如果我们只需在Visual Studio中的列表(例如警告列表)中单击项目,就可以进入源代码中的错误位置进行更正,那将是非常好的。此外,在每次构建xml文件时查看缺少的xml注释内容列表也是不错的。你有任何想法如何实现这一点吗?

4个回答

7

试试XML Comment Checker

XML Comment Checker是一个应用程序,它将检查.Net程序集的XML文档中是否存在遗漏。它提供了比C#编译器本身更全面的检查,并且非常适合在编译成实际文档之前检查注释,例如使用Microsoft Sandcastle。

从功能列表中可以看到:

检查空的部分。 可选地,XML Comment Checker会警告任何必需的部分或元素是否为空。默认情况下未启用此功能。

在Visual Studio中使用:

可以将XML Comment Checker设置为Visual Studio中的后期构建事件以自动检查程序集。 XML Comment Checker发出的警告已经格式化,以便Visual Studio能够识别并在错误列表中显示。以下是一个示例后期构建命令行:"PathToCommentChecker\CommentChecker.exe" "$(TargetPath)" -nologo -warnemptysections


虽然在Visual Studio的警告列表中出现了消息,但无法单击警告以跳转到源代码位置。 - bitbonk
1
它无法这样做,因为XML Commentchecker使用程序集和生成的XML文档文件,而不是原始源代码。 - bitbonk

5

ReSharper是解决Visual Studio(以及其他许多)不足的答案。我对不使用它的人感到遗憾。 ;)


1

FxCop和自定义规则?


0
你可以使用XSLT文件来调试XML文件,如果XML文件格式不正确,它会抛出错误并显示具体的行号。以下是一个简单的XSLT文件示例:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"
>
    <xsl:output method="xml" indent="yes"/>

    <xsl:template match="@* | node()">
        <xsl:copy>
            <xsl:apply-templates select="@* | node()"/>
        </xsl:copy>
    </xsl:template>
</xsl:stylesheet>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接