无法让 IDE0130 显示在 VS2022 错误列表中

问题描述 投票:0回答:1

我正在使用 Visual Studio 2022 Community 和 C# 项目。我喜欢我的命名空间与我的文件夹结构相匹配,因此当我将文件从 VS 中的一个文件夹移动到另一个文件夹时,我总是接受提供更改命名空间的弹出消息,或者如果我在 VS 之外进行移动(例如在 File 中) Explorer),我进入 VS 中的文件并打开命名空间的代码修复内容。总是有一个选项“更改命名空间以匹配文件夹结构”,它说与 IDE0130 相关。

这一切都很棒,但我还希望在构建项目时让 IDE0130 自动显示在错误列表中,而不是需要确保我记得自己使用代码修复。不幸的是,我一直无法让它出现在那里。

我添加了一个

.editorconfig
文件,并在其中启用了规则,如 IDE0130 的文档:

中所示
dotnet_style_namespace_match_folder = true

无论如何,这都是默认设置,但我想也可以。我还将其严重性设置为“警告”,认为这会导致它显示在错误列表中,基于同一文档页面的如何将其严重性设置为“无”的示例:

dotnet_diagnostic.IDE0130.severity = warning

它只是永远不会出现在错误列表中。我尝试了很多事情并做了几次实验来试图找出问题所在,包括但可能不限于:

  • 改变

    .editorconfig
    的位置(例如项目级别、解决方案级别、解决方案级别的祖先)。

  • 将这些行放在

    [*.cs]
    部分或
    [*.{cs,vb}]
    部分中...我不关心 VB,但后者是该文档页面上显示的内容,所以我想为什么不尝试一下。

  • 组合或单独使用线条。

  • 使用明显旧的格式

    dotnet_style_namespace_match_folder = true:warning

  • 使用严重性“错误”而不是“警告”

  • 使用或不使用项目文件

    CompilerVisibleProperty
    包括该页面上建议的内容(根据页面,这应该不是必需的,因为我是从VS内编译而不是从命令行编译,但是嘿)

  • 卸载/重新加载项目、关闭/重新打开解决方案、停止/重新启动 VS、构建、重建、清理构建等

  • 以上所有内容都有不同的组合和顺序。

这些都没有帮助。

我已经验证我可以通过这种方式控制另一条消息;例如 IDE0290,“使用主构造函数”:

dotnet_diagnostic.IDE0290.severity = error

当我将该行添加到完全相同的

.editorconfig
文件时,该诊断的实例会在错误列表中自动从默认的“消息”更改为“错误”。

我还注意到,当我打开 IDE0130 实例的代码修复弹出窗口时,我可以选择一个选项来设置其严重性。这样做会自动修改(嗯,覆盖,实际上🙄)

.editorconfig
文件,看起来与我想要指定的严重性时手动放入的内容完全相同。但这仍然没有使 IDE0130 出现。

我在这里遗漏了什么吗?是否可能需要以某种方式设置其他级别的配置?感谢您的帮助。

c# visual-studio compiler-warnings editorconfig
1个回答
0
投票

问题已在 GitHub 上公开:https://github.com/dotnet/sdk/issues/39742

您可以发表评论并关注问题进展。

© www.soinside.com 2019 - 2024. All rights reserved.