Visual studio 2010 Visual Studio禁用缺少XML注释警告

Visual studio 2010 Visual Studio禁用缺少XML注释警告,visual-studio-2010,xml-comments,Visual Studio 2010,Xml Comments,我有一个项目,其中有500多条缺少XML注释警告。我知道我可以删除XML注释功能,或者将空注释片段粘贴到任何地方,但我更喜欢一种通用解决方案,在该解决方案中,我可以进行一次更改,禁用所有此类警告 我刚才做的是 ///<Summary> /// ///</Summary> 我只是好奇这是否可能。如上所述,总的来说,我不认为这些警告应该被忽略(压制)。总而言之,围绕警告的方法是: 通过更改项目属性来抑制警告,方法是输入1591 添加XML文档标记(这非常方便) 通过编译

我有一个项目,其中有500多条
缺少XML注释
警告。我知道我可以删除XML注释功能,或者将空注释片段粘贴到任何地方,但我更喜欢一种通用解决方案,在该解决方案中,我可以进行一次更改,禁用所有此类警告

我刚才做的是

///<Summary>
/// 
///</Summary>

我只是好奇这是否可能。

如上所述,总的来说,我不认为这些警告应该被忽略(压制)。总而言之,围绕警告的方法是:

  • 通过更改项目属性来抑制警告,方法是输入1591
  • 添加XML文档标记(这非常方便)
  • 通过编译器选项抑制警告
  • 取消选中项目属性中的“XML文档文件”复选框
  • 在相应文件的顶部添加
    #pragma warning disable 1591
    ,在底部添加
    #pragma warning restore 1591

这本来是一个评论,但我无法让它符合限制:

我想禁用它们只是为了Reference.cs和WebService导入。事实上,我是用一个宏来处理一个文件。只需打开文件并执行此宏(在VS2010中测试):

Sub PragmaWarningDisableForOpenFile()
DTE.ActiveDocument.Selection.StartOfDocument()
DTE.ActiveDocument.Selection.NewLine()
DTE.ActiveDocument.Selection.LineUp()
DTE.ActiveDocument.Selection.Insert(“#pragma warning disable 1591”)
DTE.ActiveDocument.Selection.EndOfDocument()文件
DTE.ActiveDocument.Selection.NewLine()
DTE.ActiveDocument.Selection.Insert(“#pragma warning restore 1591”)
DTE.ActiveDocument.Save()文件
端接头

真的没有办法自动做到这一点吗?每次自动生成的代码覆盖文件时,您都必须重新执行此操作。

进入项目属性并取消选中“生成XML文档”选项

重新编译,警告应消失。

禁用警告: 转到项目属性(右键单击项目并从关联菜单中选择属性) 转到“生成”选项卡

将1591添加到抑制警告文本框

您还可以修改项目的
.csproj
文件,以便在第一个
文件中包含
1591
标记。 源于


...
1591
...

实际问题是什么?您想知道另一种禁用XML注释丢失时生成的警告的方法吗?在项目的属性中,更改为“Build”选项卡并取消选中“XML文档文件”。但是,我建议不要抑制警告,而是添加缺少的文档。这是绝对正确的,但我只是好奇,如果我们能从一个地方解决这个问题,因为我是新来的。这些相关的问题可能会有所帮助:警告只会出现在其他程序集可见的成员身上。人们常常毫无理由地将类(以及接口、枚举等)
公开。在这种情况下,一个简单的(我认为是好的)修复方法是从最外层的封闭类型中删除单词
public
(或者用冗余的
internal
关键字替换,具体取决于首选的样式)。然后,所有关于此类型及其成员的CS1591警告将消失。当然,您可能仍然需要保留某些类型的
public
。但是在这种情况下,您需要正确地记录它们的公共部分是公平的。我认为这个警告不应该出现在自动生成的内容中,也许您必须检查项目属性中的相应设置。不,它只通过启用XML注释警告来显示。而且,没有这样的选项可以仅为自动生成的代码禁用它。因此,当您需要重新生成代码时,系统将被截断。在项目属性
代码分析
下,有一个选项
suppress results from generated code
。在我看来,每次代码重新生成后都必须重新运行宏并不是一个真正的解决方案。如果上面的选项对您不起作用,也许可以调整代码生成器以自动添加pragma指令?@Laoujin谢谢您的评论,但正如我提到的,我也不喜欢这个解决方案。我看不出投票被否决的原因,我使用了你提到的设置,但没有成功。您是否有机会尝试Web服务导入解决方案?请不要使用GhostDoc。如果可以从方法名推断注释,那么人工可以更好地推断注释。这等于零。我不同意,GhostDoc帮助我快速添加所需的参数列表和返回标记(如果该方法不是无效的话)。我确实使用并且喜欢它,我知道还有很多其他人也这么做。然而,总结中的描述确实需要一些编辑,但在这种情况下,这对大多数自动操作都很重要。如果它所做的只是添加占位符,这将是一个很好的节省时间的方法,但是我所看到的开发人员留下生成文本的代码库数量让我们觉得我们还不够成熟,无法使用它。注释是(通常是必要的)非自文档化代码的支柱,通过提供快捷方式,该工具对世界代码有负面的净好处。@JRoughan:我完全同意。最糟糕的是,当您最终找到时间对代码进行适当的文档记录时,这些工具无法告诉您真正的文档覆盖有多彻底。任何计算文档覆盖率的工具都将始终读取100%。因此,您实际上必须完成阅读每个XML注释并评估其是否足以记录代码这一让人精神疲惫的任务。在一个星期内做了这件事
#pragma warning disable 1591
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    ...
    <NoWarn>1591</NoWarn>
  </PropertyGroup>
  ...
</Project>