【问题标题】:Underline file names that do not match type name在与类型名称不匹配的文件名下划线
【发布时间】:2021-01-30 19:53:21
【问题描述】:

我刚刚使用 ReSharper 重新安装了 Visual Studio 2019,我发现我的环境缺少一条代码检查规则:文件名与类型名称不匹配

我不记得这个代码检查规则是内置的 VS 还是 ReSharper 规则,甚至是 VS 扩展。 ReSharper 允许我在右键单击文件名不匹配的类时Rename file to match type name,但在我的编辑器中该类没有下划线。在我之前的 VS 安装中,当这个代码检查问题被触发时,这个类被取消了。

谁能告诉我如何启用此代码检查规则,无论是在 ReSharper、VS 还是 VS 扩展中?

【问题讨论】:

  • 你之前用过CodeRush吗?
  • @KannanSuresh 感谢您的回复。不,我没有用过这个。

标签: c# visual-studio resharper code-inspection


【解决方案1】:

Visual Studio 和 ReSharper 都不会突出显示此问题,但两者都会提供快速修复来纠正它。

添加 StyleCop.Analyzers NuGet 包将添加 SA1649 警告(和波浪线下划线)。

使用 Visual Studio 2019 (16.8.4) 和 ReSharper 2020.3.2、使用 .net 5 的 C# 控制台应用程序和 StyleCop.Analyzers v1.2.0-beta.321 NuGet 包给我这个:

如果您在解决方案资源管理器中查看您的项目,在 Dependencies->Analyzers->StyleCop.Analyzers 下,您将看到所有 StyleCop 规则的长列表,向下滚动到 SA1649 并右键单击它并选择Set Severity->Warning

还有一个适用于 ReSharper 的 StyleCop 扩展,但不久前我在使用一些较新的 C# 语言功能时遇到了一些问题。

【讨论】:

  • 我曾经安装过 StyleCop,但我想那是很久以前的事了。根据您的建议,我刚刚为 ReSharper 和 VS 安装了 StyleCop 扩展,但不幸的是,默认情况下它们不会突出显示此规则。当然,我过去没有调整过 StyleCop 选项。
  • 我添加了更多细节。你用的是和我一样的版本吗?这应该在没有 ReSharper 的情况下也可以工作。
  • 试试 NuGet 包而不是扩展。您可能还有一个旧的 StyleCop 设置文件 (Settings.StyleCop) 禁用了某些规则。
  • 我从未使用过 StyleCop.Analysers 包,我想避免使用它。我不喜欢为每个项目都安装这个 nuget 包的想法
  • NuGet 包的优点是您只需将其应用到您想要的项目中,而 StyleCop 扩展适用于您使用的所有东西,打开一些遗留代码,您就会陷入波浪中.此方法也适用于对所有用户执行编码标准,而不是那些拥有 ReSharper/StyleCop 扩展的用户。
【解决方案2】:

我不使用 ReSharper。我使用默认的 .NET 分析器和 Roslynator。他们都没有显示这个检查。

这似乎是来自 ReSharper 的代码检查。您可能已将其关闭。

请参阅下面的网址。

https://www.jetbrains.com/help/resharper/Refactorings__Move_Types_into_Matching_Files.html

https://www.jetbrains.com/help/resharper/StyleCop_Styles.html#applying-settings-from-settings-stylecop-files

【讨论】:

  • 没错,有条码检查规则,但我无法启用高亮显示
  • 也检查一下help file。这似乎是一个配置。由于我没有 Resharper,我无法从我身边尝试。
猜你喜欢
  • 2018-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-07
  • 2019-06-06
  • 2014-09-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多