改动 Designer.cs 文件是否安全?

4
Resharper将我的注意力引向了Form1.Designer.cs中的这行代码:
private System.ComponentModel.IContainer components = null;

...使用“字段可以设置为只读

是否安全答应,还是应该将其归咎于Resharper过于挑剔,并忽略它?

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

冗余显式委托创建

以及多次:

限定词“this.”是多余的

更新

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

enter image description here

那么……这是否意味着我需要手动添加Igal Tabachniks屏幕截图中看到的所有文件扩展名?它似乎仅适用于Windows 8项目;快速而粗糙的实用程序“抛出”了这些消息,是一个简单的旧Windows Forms应用程序。


感谢更新,我添加了你可以执行的其他步骤! - Igal Tabachnik
3个回答

4
您必须在ReSharper中修改了Generated Code设置,因为默认情况下,ReSharper总是忽略已知的生成文件和区域,所以它不应该在任何.Designer.cs文件中标记任何违规行为。
请确保您的设置如下所示:
EDIT: 看起来您的大多数默认设置都已丢失,原因未明。最好的方法是尝试将设置重置为默认设置。 最快的方法是删除位于%appdata%\JetBrains\ReSharper\vAny中的GlobalSettingsStorage.DotSettings,但这显然会重置所有其他设置(例如自定义命名约定)。
或者,您可以手动编辑文件(它只是一个XML文件),并删除所有以以下字符开头的行:
<s:String x:Key="/Default/CodeInspection/GeneratedCode/GeneratedFileMasks...

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


我会添加我所拥有的内容,并更新我的原始帖子。 - B. Clay Shannon-B. Crow Raven
我认为应该有一种更简单的方法来恢复出厂设置;就我所知,我也没有改变任何东西。 - B. Clay Shannon-B. Crow Raven

4

修改 Designer.cs 文件是安全的,但我不建议这样做。该文件是自动生成的,每当您更改相应的表单文件时,它都将再次生成。在文件顶部的注释中应提到这一点:所有更改都将丢失


在那行下面有这样一段: /// Designer 支持所需的方法 - 请勿使用代码编辑器修改此方法的内容。 private void InitializeComponent() 看起来这只适用于那个方法,所以... - B. Clay Shannon-B. Crow Raven
我是指在文件顶部。 - user1908061
我知道,我只是在说警告出现在Resharper想要更改的行之后,因此对它的更改可能会被保留,并且下次机器鼠标被编译器的鞭打感觉唤醒时不会被重新生成或覆盖。 - B. Clay Shannon-B. Crow Raven
整个文件都会被替换。总是这样。没有办法在这些文件中保留更改。 - user1908061

4
那些来自 Resharper 的警告只是指南,而不是规则。它们的存在只是为了帮助代码可读性,并通过使您的意图更加明显来防止意外编码错误。
现在 Designer.cs 文件是由机器生成的,旨在供机器阅读,而不是人类,因此这些指南与设计者文件无关。
我90%确定 Resharper 中的过滤器已将 Designer.cs 文件从其建议引擎中排除,但我必须等到周一才能检查。您可以尝试向 Resharper 的设置中添加一个过滤器以排除 *.Designer.cs 文件。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接