4

Resharper 将我的注意力引向 Form1.Designer.cs 中的这行代码:

private System.ComponentModel.IContainer components = null;

...带有“字段可以设为只读

默许是安全的,还是我应该把它归咎于 Resharper 有点过于挑剔,而忽略它?

Resharper 还会标记 Designer.cs 的许多其他违规行为,例如:

冗余显式委托创建

并且,多次:

限定词“这个”。是多余的

更新

这是我的设置的外观(我没有更改它们):

在此处输入图像描述

那么...这是否意味着我需要手动添加在 Igal Tabachniks 的尖叫镜头中看到的所有文件扩展名?似乎它仅适用于 Windows 8 项目;“抛出”这些消息的快速而肮脏的实用程序是一个普通的旧 Windows 窗体应用程序。

4

3 回答 3

4

更改Designer.cs文件是安全的,但我不建议这样做。该文件是自动生成的,并且每当您更改相应的表单文件时都会再次生成该文件。在文件的顶部,它应该在评论中提到这一点:All changes will be lost.

于 2013-06-30T14:48:36.847 回答
4

Resharper 的这些警告是指导而不是规则。它们只是为了帮助提高代码的可读性,并通过使您的意图更加明显来帮助防止意外的编码错误。

现在 Designer.cs 文件由机器生成,旨在由机器而非人读取,因此这些指南与设计器文件无关。

我 90% 确定 Resharper 中的过滤器将 Designer.cs 排除在其推荐引擎之外,但我必须等到星期一才能检查。您也许可以在 Resharpers 设置中添加一个过滤器以排除*.Designer.cs

于 2013-06-30T15:03:26.717 回答
4

您必须以某种方式修改了 ReSharper 中的生成代码设置,因为默认情况下 ReSharper 始终忽略已知的生成文件和区域,因此它不应标记任何.Designer.cs文件中的任何违规行为。

确保您的设置如下所示:

编辑:由于某种原因,您的大多数默认值似乎都丢失了。您可以做的最好的事情是尝试将设置重置为默认值。

最快的方法是删除GlobalSettingsStorage.DotSettings位于 中的%appdata%\JetBrains\ReSharper\vAny,​​ 但这显然会重置所有其他设置(例如自定义命名约定)。

或者,您可以手动编辑该文件(它只是一个 XML 文件),并删除所有以以下开头的行:

<s:String x:Key="/Default/CodeInspection/GeneratedCode/GeneratedFileMasks...

删除条目后,保存文件(先备份!),然后重新启动 Visual Studio。您的默认设置应该有望恢复。

于 2013-06-30T15:27:54.927 回答