ReSharper 2026.2 Help

设置

ReSharper 选项:代码检查 | 设置

在此 ReSharper 选项 页面中,您可以指定 代码检查 的偏好设置。

启用代码分析

选中此复选框以启用 设计时代码检查。

无论此复选框是否选中,您始终可以 在特定范围内运行代码检查。

分析

从 editorconfig 和项目设置中读取设置

如果您 使用 EditorConfig 来维护项目的代码样式,您还可以从 .editorconfig 文件中配置代码检查。

如果启用了此复选框,您可以直接从 .editorconfig 文件中 配置 代码检查严重性级别 和 C# 命名样式。

启用解决方案级分析(_A)

启用 解决方案范围分析 (包括 解决方案范围的代码检查 ),默认情况下此功能是禁用的。

请注意,在大型解决方案中,解决方案范围的分析可能会导致性能下降。 不过,有几种方法可以 提高解决方案范围分析的性能。

启用计算量大的检查

启用数据流分析并带来额外的检查,例如计算可空性。

监视警告

在 解决方案范围分析 中启用警告。

当解决方案范围分析中启用了警告时,其工作方式如下:只要解决方案中存在错误,就只会显示错误;未解决的警告仅在最后一个错误修复后才会出现。 当禁用警告时,状态栏指示器将在最后一个错误修复后立即变为绿色。

启用此选项后,您可以单击 Errors/Warnings in Solution 窗口工具栏上的 ThemedIcon.Warning.Screen.(Gray).png ,以在窗口和状态栏指示器中显示或隐藏警告,而无需重新启动分析。

包括源生成的文件

使用此复选框选择是否监视 源生成文件。

资源利用率

使用此选择器定义解决方案范围分析应如何使用系统资源。 低 表示资源使用较低,但分析时间较长。 高 表示在多核机器上初始分析所需时间较少。

当解决方案范围分析关闭时,显示未使用的非 private 类型成员

启用此选项后,即使 解决方案范围分析 被禁用,ReSharper 也会检测所有未使用的非私有成员。 此选项对小型和中型解决方案没有显著的性能影响。

但是,如果您在大型解决方案中或处理非常大的源文件时遇到性能问题,您可能需要禁用它。

当解决方案范围的分析关闭时,显示未使用的全局 using 指令

启用此选项后,即使 解决方案范围分析 被禁用,ReSharper 也会报告所有引用未使用命名空间的 global using 指令。 此选项对小型和中型解决方案没有显著的性能影响。

但是,如果您在大型解决方案中遇到性能问题,您可能需要禁用它。

值分析模式

通过使用 值分析 ,ReSharper 找出哪些实体可以持有 null 值,并高亮显示可能的空引用错误。 您可以选择以下模式之一。

  • 乐观:当显式标记为 [CanBeNull] 属性或检查是否为 null 时 — ReSharper 假设只有明确标记为 CanBeNull 或 ItemCanBeNull 属性或明确检查是否为 null 的实体可以为 null。

  • 悲观: 当实体没有显式 [NotNull] 特性时 — ReSharper 假设所有没有明确 NotNull 或 ItemNotNull 属性的可空实体都可以为 null。

可空引用类型的警告模式

如果启用了 可空引用类型(NRT) ,ReSharper 会重用 C# 编译器分析的结果。

NRT 提高了可空性分析的整体精度,但在某些情况下,NRT 合约可能会被违反,例如,当值来自没有 #nullable 上下文的代码时。 在这种情况下,您可能会收到可空性检查的误报警告(例如, 表达式始终为 'true' 或 'false')。 您可以选择忽略可空 API 合约,仅在代码中对值的先前操作保证其可能或不可能为 null 时报告问题。

更多信息,请参阅 可空引用类型。

处置分析模式

选择 处置分析 的模式之一。

当您通过 [MustDisposeResource] API 接收一个对象时,如果您将相应的变量包装在 using 中或显式调用该变量上的 Dispose() ,ReSharper 将始终认为它已被释放,并且不会发出警告。

如果您将可释放变量作为参数传递给方法,ReSharper 将根据分析模式发出警告:

  • 乐观 (默认):所有接受 IDisposable 或派生类型的方法都被认为是安全的;也就是说,我们假设它们会在处理对象后调用 Dispose()。

  • 悲观 :只有当接受 IDisposable 的参数被标记为 [HandlesResourceDisposal] 属性时,方法才被认为是安全的。 否则,ReSharper 将报告未释放的变量。

分析整数算术

使用此复选框启用或禁用 整数值分析(整数运算)。

优化增量分析

打开后,完整文件重新高亮显示会跟踪哪些成员已被检查,如果修改仅更改文件中的其他成员,则不会重新分析这些成员。

将与 Roslyn 分析器匹配的检查视为编译器检查

启用此选项后,ReSharper 会将 其检查与匹配的 Roslyn 分析器诊断进行同步,以帮助避免冲突或重复的高亮显示。

对于与 Roslyn 诊断对应的检查,ReSharper:

  • 使用为相应 Roslyn 诊断配置的严重性级别。 例如,如果 Roslyn 的 IDE0007 被配置为错误级,ReSharper 的 使用首选 'var' 风格检查项也会被报告为错误。

  • 遵循 #pragma warning disable IDExxxx 指令以抑制匹配的 ReSharper 检查。

  • 应用来自 .editorconfig 的相关 Roslyn 代码风格设置。 例如, csharp_style_prefer_primary_constructors = false 将禁用 将构造函数转换为主构造函数检查。

  • 建议使用 #pragma 而非 使用注释来抑制匹配检查,这样抑制对于 Roslyn 和 ReSharper 都有效。

启用文件夹命名空间提供程序

此设置定义 命名空间相关功能是否应使用文件夹结构作为命名空间后缀。 如果此设置被禁用,首选命名空间将对应于父项目名称。 如果启用,首选命名空间将是 ProjectName.FolderName。

该选项定义了整个解决方案的默认偏好。

要为特定文件夹进行配置,请在 项目条目属性 弹窗中将 命名空间提供程序 设置为 否 ,您可以通过在解决方案资源管理器中从文件夹的上下文菜单中选择 编辑项目项属性 来调用该弹窗。

ReSharper:项目文件夹的“命名空间提供者”属性

突出显示

标识符着色

此选项允许您启用或禁用 ReSharper 的 语法高亮显示方案。

如果选中,语言标识符将根据 Visual Studio 选项中定义的颜色进行高亮显示: 工具 | 选项 | 环境 | 字体和颜色。

ReSharper 提供的语法标识符列表可在 显示项 列表中找到,每个名称都以 ReSharper前缀开头。

请注意,禁用此选项也会禁用鼠标悬停时出现的符号信息工具提示。

高亮显示颜色用法

启用代码中颜色定义的高亮显示。 更多信息,请参阅 颜色辅助。

高亮显示字符串字面量中的特殊字符

启用非逐字字符串中正确和错误转义序列的高亮显示。 例如: 字符串中转义序列的高亮显示 有关更多信息,请参阅 正则表达式辅助功能。

高亮显示捕获的主形参

启用此选项后,ReSharper 会更改 主构造函数参数的语法高亮显示,这些参数用于实例成员中。 这些参数会被捕获到实例上下文中,并表现得像实例字段;因此,将它们语法高亮显示为字段是很方便的。

在下面的示例中, firstName 参数用于初始化 First 属性,但它没有被捕获,因为编译器会为 First 创建一个后备字段,并将构造函数参数复制到那里。

lastName 另一方面将被保留为字段,以便在访问 Last 属性时返回其值。 因此,ReSharper 将 firstName 高亮显示为普通参数,而将 lastName 高亮显示为字段:

ReSharper:主构造函数中捕获参数的语法高亮显示

文本光标依赖高亮显示

突出显示光标下元素的用法

默认情况下,当您将光标放在变量或成员的声明或用法上时,文件中该符号的所有其他用法都会以背景高亮显示。 使用此复选框切换此行为。

高亮显示上下文退出

此选项默认启用,指示 ReSharper 高亮显示控制流可以退出当前上下文的所有位置。 例如,对于方法,它会高亮显示方法的返回类型,所有 return、 throw 关键字等,当您将光标放在这些标识符之一上时。

ReSharper 高亮显示上下文退出点

对于循环或 switch 语句,它还会高亮显示循环关键字以及其中的所有 break 语句。

请注意,如果方法在编辑器中未完全可见,您可以在方法名称上调用 导航到:函数出口 命令以触发另一种高亮显示,这种高亮显示在光标离开方法名称时不会消失。

高亮显示相关的 async/await 关键字

此选项启用函数中所有 async 和 await 关键字的高亮显示 当您的光标位于其中一个关键字上时。

高亮显示条件元素

此选项启用匹配逻辑和条件运算符(|、 ||、 &、 && ,以及 ? 和 ? 对)的高亮显示,这些运算符在复杂表达式中协同工作,当您的光标位于其中一个运算符上时。

在下面的示例中,%product 帮助理解高亮显示的运算符将一起被评估,而 value1 > 1 || value2 >= 2 && condition1 部分将首先被评估, || value6 %lt; value7 || condition2 部分将根据 运算符优先级在之后被评估。

ReSharper:匹配逻辑运算符的高亮显示

快速修复和上下文操作

在作用域内应用修正/操作时使用并行代码分析

选择此选项后,ReSharper 使用所有可用的 CPU 并行执行代码分析,当在 超过 10 个文件的范围内应用快速修复和上下文操作时。

在作用域内应用快速修复时,利用解决方案级分析结果

启用此选项后,ReSharper 使用 解决方案范围分析的结果来加速应用 范围内的快速修复。 此机制仅在此选项页面上的 启用解决方案级分析(_A) 和 监视警告 复选框启用时才会工作。

2026年 7月 16日