配置代码检查设置
配置设计时代码检查
默认情况下,ReSharper 在所有与 支持的语言对应的文件中启用 设计时代码检查。 如有必要,您可以禁用它。 无论是否启用了设计时代码检查,您始终可以运行 特定范围内的代码检查。
从主菜单中选择 或按下 Alt+R O ,然后在左侧选择 。
使用 启用代码分析 复选框切换 设计时代码检查。
如有必要,您可以选择 启用解决方案级分析(_A) 复选框以启用 解决方案范围分析。
使用 该设置页面上的其他选项来调整设计时检查以符合您的需求。
在 选项 对话框中点击 保存 以应用修改,让 ReSharper 选择保存位置,或者通过从 保存到 选择器中选择特定的设置层来保存修改。 有关更多信息,请参见 管理和共享 resharper 设置。
从代码检查中排除文件和文件夹
ReSharper 允许您配置应从代码检查中排除的文件、文件掩码和文件夹列表。 被排除的项目会被 设计时代码检查和 特定范围内的代码检查忽略,但它们仍会被 ReSharper 索引,因此您可以 导航到或 重构被排除的符号。
从代码检查中排除特定文件和文件夹
从主菜单中选择 或按下 Alt+R O ,然后在左侧选择 。
在 要跳过的元素 部分的左侧,您可以指定要被代码检查忽略的文件或文件夹。
在该部分的右侧,您可以指定掩码(例如 *.vb ),以排除解决方案中所有匹配的文件。
在 选项 对话框中点击 保存 以应用修改,让 ReSharper 选择保存位置,或者通过从 保存到 选择器中选择特定的设置层来保存修改。 有关更多信息,请参见 管理和共享 resharper 设置。
您还可以快速将当前文件从代码检查中排除,这样 ReSharper 会将此文件添加到排除文件列表中,而无需打开选项。
从代码检查中排除/包含当前文件
按 Control+Alt+Shift+D8。
右键单击 状态指示器并选择 暂停/恢复分析。
您可以通过
暂停图标识别代码检查被禁用的文件,该图标位于 状态指示器上。
从索引中排除冻结的项目
在 ReSharper 选项 Alt+R, O 的 页面上,您还可以使用 要忽略的项目 列表指定应由 ReSharper 完全忽略的项目。
被忽略的项目将不会被 ReSharper 索引,这意味着这些项目中将无法使用任何 ReSharper 功能,例如 代码分析、 重构、 代码生成。
此列表主要用于通过不索引和不分析包含第三方代码或冻结代码(不会更改的代码)的项目来 提高性能。
尽管被忽略项目中的源文件不会被解析,ReSharper 仍会处理这些项目输出中的已编译代码(性能开销非常小)。 这意味着,在构建被忽略的项目后,ReSharper 将正确解析这些项目中符号的用法,您仍然可以在这些项目中享受 导航和搜索。
因此,如果在将某些项目添加到忽略列表后,您遇到类似“无法解析符号”的错误,您需要构建被忽略的项目,ReSharper 将能够从已编译的工件中解析这些符号。
要将项目添加到忽略列表,可以使用项目文件名(例如 ProjectOne.csproj ),或文件掩码(例如 Project*.csproj )来匹配 ProjectOne.csproj 、 ProjectTwo.csproj 等。
部分禁用对生成代码的代码检查
您还可以配置包含生成代码的文件、文件夹、文件掩码和区域的列表。 对于这些项目,ReSharper 仅运行那些检查编译器错误和警告的 代码检查。 某些文件掩码和区域通常用于生成代码,例如 *.designer.cs ,这些默认包含在此列表中,但如果需要,您可以更改默认设置。
如果您在解决方案中使用 .editorconfig ,您还可以使用 generated_code 属性标记生成代码。 例如:
指定包含生成代码的文件和区域
在 ReSharper 选项 Alt+R, O 的 页面上,使用 添加文件 和 添加文件夹 按钮指定包含生成代码的文件或文件夹。
在页面的左下部分,使用 添加 按钮指定生成代码文件的掩码(例如 *.Designer.cs )。
在页面的右下部分,使用 添加 按钮指定包含生成代码的区域名称。
在 选项 对话框中点击 保存 以应用修改,让 ReSharper 选择保存位置,或者通过从 保存到 选择器中选择特定的设置层来保存修改。 有关更多信息,请参见 管理和共享 resharper 设置。
更改代码检查的严重性级别
每个 ReSharper 的代码检查都有其默认的 严重性级别 ,该级别依据其检测到的问题可能造成的影响而设定。 大多数检查具有可配置的严重性级别,您可以更改它。
您可以直接从编辑器更改检查的严重性级别,在检查发现代码问题并高亮显示的地方。
从编辑器更改检查的严重性
另一种将修改后的严重性级别保存到共享设置层或修改多个检查的严重性级别的方法是使用 ReSharper 选项 对话框 Alt+R, O ,如下所述。
从选项中修改代码检查的严重性级别
在 ReSharper 选项 Alt+R, O 的 页面上,您可以查看所有可配置的代码检查及其严重性级别。 检查按语言分组,然后按 类别分组。
找到并选择您想要修改严重性级别的检查。 要查找检查,只需开始输入其名称。
单击所选条目右侧的列表,然后选择所需的严重性级别:

如果检查的默认严重性级别被更改,您会看到其旁边的 重置为默认
按钮,允许您将严重性重置为默认值。在 选项 对话框中点击 保存 以应用修改,让 ReSharper 选择保存位置,或者通过从 保存到 选择器中选择特定的设置层来保存修改。 有关更多信息,请参见 管理和共享 resharper 设置。
禁用/启用特定的代码检查
如果某些代码检查看起来无关紧要或您不感兴趣,您可以禁用此检查,这样相关问题就不会在 编辑器中高亮显示或在您 运行特定范围内的代码检查时被检测到。 您可以随时重新启用已禁用的代码检查。 某些检查默认是禁用的,您可以在需要时启用它们。
您可以通过以下方式之一禁用任何代码检查:
如果编辑器中有此检查高亮显示的代码问题,将光标放置在高亮显示的代码上,按 Alt+Enter ,然后选择 检查 [检查名称] | 配置检查严重性 | 不显示。
在 ReSharper 选项 Alt+R, O 的 页面上,使用搜索字段查找您要禁用或启用的检查,然后使用其旁的复选框。
使用 EditorConfig 配置代码检查
如果您 使用 EditorConfig 来维护项目的代码样式,您还可以从 .editorconfig 文件中配置代码检查。
要通过 EditorConfig 配置代码检查,您必须在 ReSharper 选项 Alt+R, O 的 页面上选中 从 editorconfig 和项目设置中读取设置 复选框。
As EditorConfig convention suggests, ReSharper applies inspection settings defined in files named .editorconfig in the directory of the current file and in all its parent directories until it reaches the root directory or finds an EditorConfig file with root=true. .editorconfig 文件中指定的文件掩码,例如 *Test.cs 也会被考虑在内。
在 .editorconfig 文件中的检查设置与其他属性的配置方式类似——通过添加相应的行:
例如,您可以通过以下行将 可能的 'System.NullReferenceException'检查的 严重性级别更改为 错误:
或者,您可以通过以下行禁用 具有默认值的冗余参数检查:
您可以在 代码检查索引 部分的页面以及 EditorConfig 属性索引 页面上找到每个检查的 EditorConfig 属性。 — 只需使用浏览器搜索找到所需检查的属性。
在特定范围内抑制代码检查
忽略特定代码问题的一种方法是 禁用相应的代码检查。 在这种情况下,此检查检测到的所有代码问题将在任何地方被忽略。
有时,您可能需要在特定位置抑制特定检查,同时继续在其他地方检测此检查的其他类似问题。
例如,ReSharper 认为某些代码是“无效的”,而您可以看到这是真的。 此检查很有帮助,您不想禁用它。 但是,您可能希望稍后使用此代码,并且不希望它在 编辑器中高亮显示或出现在 检查结果中。 为此,ReSharper 允许您使用注释或属性来抑制检查。 注释更适合于任意代码片段,而属性更适合于抑制整个方法或类型中的检查。
在特定范围内抑制代码检查
将插入符号放置在 一个 ReSharper 的检查突出显示的代码问题上。
在操作列表中,选择以下选项之一:
检查 [检查名称] | 使用注释禁用一次 — 此选项插入一个单行注释
ReSharper disable once [inspection id],仅抑制首次出现的相应问题的检查。检查 [检查名称] | 使用注释禁用一次 | 使用注释在文件中禁用 — 此选项在文件开头插入一个单行注释 -
ReSharper disable [inspection id]。 此注释会抑制文件中所有相应问题的检查。检查 [检查名称] | 使用注释禁用一次 | 使用注释禁用并恢复 — 此选项在问题前后插入一对注释 -
ReSharper disable [inspection id]和ReSharper restore [inspection id]。 这些注释会抑制它们之间所有相应问题的检查。然后,您可以将这些注释移动到文件中的其他位置,以便抑制此类型的多个问题。 例如,如果您希望保留几个未使用的命名空间导入,这可以用于抑制“冗余命名空间”检查。
检查 [检查名称] | 使用注释禁用一次 | 对方法禁用 — 此选项向方法添加以下属性:
[SuppressMessage("ReSharper", "[inspection id]")]。 此属性会抑制方法中的检查。检查 [检查名称] | 使用注释禁用一次 | 对类禁用 — 此选项向类添加以下属性:
[SuppressMessage("ReSharper", "[inspection id]")]。 此属性会抑制整个类中的检查。检查 [检查名称] | 使用注释禁用一次 | 禁用文件中的所有检查 — 此选项在文件开头插入一个单行注释
ReSharper disable All。 此注释会抑制文件中的所有检查。如有必要,您可以插入
ReSharper restore All以在特定行之后启用代码检查。
要在类型或方法中抑制所有检查,请添加以下属性: [SuppressMessage("ReSharper", "All")]。

