【问题标题】:Showing code Warnings in Visual Studio在 Visual Studio 中显示代码警告
【发布时间】:2020-10-26 17:34:46
【问题描述】:

我正在尝试提高使用 Visual Studio Enterprise 2015 的程序的代码质量。错误列表为空,但如果我打开特定文件,则会显示警告。我唯一的活动过滤器是“当前项目”,所以我不明白为什么默认情况下它不显示这些警告,但只有当我打开文件本身时才会显示这些警告。如何让 VS 显示所有警告,即使是关闭的文件?

另一个问题,我做了“运行代码分析并抑制活动问题”,但我丢失了上次运行的问题。我怎样才能恢复这个抑制器?

编辑:我在打开文件时看到的警告之一如下:

RECS0065:表达式始终为假

并指这段代码:

if (sourceProject.uid == null
  && row[fieldConfig.ImportFieldName].GetType() == typeof(Guid)
  && (fieldConfig.ODataFieldName == "ProjectId"))

表达式将始终被评估为 false,因为在此阶段 sourceProject.uid 始终为 null。

现在,回到主要问题,如果我关闭文件,警告就会从错误列表中消失。即使文件没有在编辑器中打开,我也希望看到这些警告。

这是我试图清除的警告类型,基本上只是糟糕的编码。我的问题不是问如何解决错误,而是如何始终将它们可视化。

【问题讨论】:

  • 寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:如何创建最小、完整和可验证的示例 - 模拟我们需要您提供更多信息才能理解您的要求。有时文件类型是相关的。
  • @TomTom 感谢您的澄清。我编辑了帖子以提供更多信息,但正如我所说,这不是一个与代码相关的问题,而是一个如何正确使用 VS 中的错误列表的问题。
  • 并非如此 - 这更多地取决于某些代码分析的行为。如果您进行编译 - 错误会出现并保留吗?
  • @TomTom 不。如果在编辑器中打开文件,我只能看到警告。对我来说,VS 处理警告的方式不同(我习惯于 Eclipse)对我来说很奇怪,但我可以看到错误列表有一个“类别”列。此行为与该列有关吗?
  • @TomTom 例如,不要消失的警告有一个类别“代码中的冗余”,而消失的警告有一个类别“符号声明中的冗余”

标签: c# visual-studio optimization


【解决方案1】:

在我的 Visual Studio 2017 (v15.2) 中,在从“构建”菜单执行“全部重建”后,我只能看到解决方案中所有文件的所有警告。

大多数警告在执行常规构建 (Ctrl+Shift+B) 后再次消失。

无论Full Solution Analysis 选项是否启用,我都会得到这种行为

【讨论】:

    【解决方案2】:

    要显示所有 CA 警告,请参阅 this

    要恢复抑制删除GlobalSurpressions.cs 文件。

    【讨论】:

      【解决方案3】:

      Visual Studio 2019 Professional 中的更新 您可以在错误列表窗口的左上角选择错误列表的范围

      • 当前文档
      • 当前项目
      • ...

      Error list window

      【讨论】:

      • 此人使用的是 vs 2015 而不是 2019;用户在 4 年前问过这个问题,所以我认为您的回答与此无关。
      • Gert,我在寻找解决方案时发现了这个页面,当我发现我在这里添加了一个帖子,因为这里可以帮助其他有同样问题的人..
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-16
      • 2017-04-11
      • 2014-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-26
      相关资源
      最近更新 更多