ReSharper 2025.2 Help

在范围内修复

大多数 快速修复可以修复插入符号下的当前问题,但其中一些(例如 移除未使用的指令将字段设为只读移除多余的强制类型转换 等)还可以自动查找并修复更大范围内的问题——在当前文件、项目、文件夹或整个解决方案中。

在范围内应用修复

您可以通过 操作列表中显示在其旁边的小箭头来识别此类修复。

可扩展的快速修复

在范围内应用修复

  1. 将光标放置在 一个 ReSharper 检查高亮显示的代码问题上。

  2. Alt+Enter 或单击光标左侧的 操作指示器以打开 操作列表

  3. 选择您想要应用的快速修复。

  4. 单击快速修复右侧的箭头或按右箭头键以展开可用范围的列表。 如果快速修复右侧没有箭头,则该快速修复仅适用于本地。

  5. 选择要应用快速修复的范围并单击它或按 输入

所有 ReSharper 在范围内应用修复的文件将在编辑器选项卡中打开。 如果需要,您可以通过一个命令撤销这些文件中所做的所有更改:在主菜单中选择 编辑 | 撤销 或按 Ctrl+Z

修复范围内的不一致命名

修复 不一致命名的快速修复会调用 重命名重构 以确保解决方案中符号的所有出现都被重命名。

命名样式违规的快速修复

因此,当您选择在更大范围内修复命名时,ReSharper 会显示一个附加对话框,您可以在其中选择要重命名的项目:

范围内修复:批量重命名

可在更大范围内应用的快速修复列表

可在更大范围内应用的快速修复的完整列表包括:

ASP.NET

通用

  • 结构模式替换

C++

  • 添加 'template' 关键字

  • 添加 'typename' 关键字

  • 整理大括号

  • 排列 cv 限定符

  • 整理重写函数说明符

  • 批量将局部变量设为 const

  • 批量将局部变量声明设为 const

  • 批量将参数设为 const

  • 批量将指针或引用参数设为 const

  • 更改智能指针以创建函数

  • Clang 整理

  • 转换为嵌套命名空间定义

  • 转换为嵌套命名空间

  • 转换为常规返回值类型

  • 转换为尾随返回值类型

  • 删除多余的访问说明符

  • 删除多余的前向声明

  • 删除多余的说明符

  • 删除多余的 typename 模板关键字

  • 删除多余的零初始化器

  • 联接声明和赋值

  • 将类设为 final

  • 设为 constexpr

  • 将成员函数设为 'const'

  • 将成员函数设为 'static'

  • 通过常量引用传递形参

  • 移除文件中所有未使用的 #include 指令

  • 移除类型转换

  • 移除详细类型说明符

  • 移除冗余条件表达式

  • 移除冗余的取消引用

  • 移除多余的 'else' 关键字

  • 移除冗余的初始值设定项

  • 移除冗余的 lambda 形参列表

  • 移除冗余的括号

  • 移除冗余的限定符

  • 移除冗余模板实参

  • 移除语句

  • 移除不必要的空格

  • 移除无法访问的代码

  • 移除未使用的 lambda 捕获

  • 将表达式替换为 'false'

  • 将表达式替换为 'nullptr'

  • 将 'if' 替换为 'if consteval'

  • 将 'if' 替换为 'if constexpr'

  • 替换导入指令

  • 替换多余的二元运算符解引用

  • 替换多余的内存访问解引用

  • 将制表符替换为空格

  • 将抛出替换为重新抛出

  • 替换为 ''

  • 替换为类型别名

  • 替换为 typedef

  • 替换为前缀运算符

  • 替换为结构化绑定

  • 简化条件表达式

  • 对 #include 指令排序

  • 按声明顺序对定义排序

  • 按初始化顺序对成员初始值设定项排序

  • 使用 ''

  • 使用 'auto'

  • 使用 'contains' 成员函数

  • 使用 static_cast

C#

  • 添加事件访问器

  • 添加显式 'return'

  • 添加 get 访问器

  • 添加 init 访问器

  • 添加缺少的 'RequireForUpdate<>' 调用

  • 为 '' 添加缺失的 'Update' 调用

  • 添加 "new" 关键字

  • 添加形参类型

  • 添加所需的成员初始化器

  • 添加 set 访问器

  • 参数样式 添加缺失/移除多余的参数名称(请参见 代码语法样式:命名/位置参数

  • 整理属性 将属性放入单个部分(请参见 代码语法样式:多个属性

  • 整理大括号 添加缺失的大括号/移除多余的大括号(请参见 代码语法样式:单层嵌套语句的大括号

  • 整理代码体

  • 整理默认值

  • 整理不一致的限定符(请参见 代码语法样式:可选成员限定符

  • 整理命名空间体

  • 排列 null 检查模式

  • 整理对象创建

  • 整理多余的限定符(请参见 代码语法样式:可选成员限定符

  • 整理尾随逗号

  • 用括号明确优先级(请参见 代码语法样式:可选括号

  • 与对象创建合并

  • 将前导转义符转换为 ASCII 文本

  • 转换为自动属性(请参见 使用自动属性

  • 转换为 'CompareTag'

  • 转换为条件表达式

  • 转换为主构造函数

  • 转换为原始字符串

  • 转换为 "switch" 表达式

  • 转换为作用域内的 using 声明

  • 转换为 'using' 语句

  • 将表达式转换为对象创建

  • 创建默认构造函数

  • 创建空构造函数并添加成员初始值设定项

  • 创建匹配的 checked 运算符

  • 将形参替换为 '_'

  • 点部分类

  • 强制解构声明样式

  • 强制丢弃声明样式

  • 提取通用属性模式

  • 修复内置类型引用样式,使用类型关键字/CLR 类型名称(请参见 代码语法样式:内置类型引用

  • 修正为 null 性与默认形参值的不匹配

  • 修复运算符修饰符

  • 生成构造函数

  • 导入扩展获取枚举器方法

  • 导入扩展获取枚举器方法弹出窗口

  • 导入方法(请参见 代码语法样式:命名空间导入

  • 导入方法弹出窗口 导入项目及所有其他引用(请参见 代码语法样式:命名空间导入

  • 导入类型(请参见 导入缺失的命名空间

  • 导入类型快速弹出窗口(请参见 导入缺失的命名空间

  • 内联 'out' 变量声明

  • 内联临时变量

  • 联接声明和赋值

  • 将 null 检查与赋值联接在一起

  • 设为抽象

  • 将所有未初始化的成员设为 'required'

  • 将匿名函数设为静态

  • 将 'async void' 返回值类型设为显式

  • 将自动属性设为仅 get(请参见 将自动属性设为仅可读

  • 将基类设为虚拟

  • 将类设为抽象

  • 将类设为非抽象

  • 将类设为密封

  • 将字段设为非只读

  • 将成员设为必需

  • 将资源设为必须释放

  • 设为非抽象

  • 设为非只读

  • 设为非密封

  • 设为非静态

  • 设为非虚拟

  • 设为非易失性

  • 将经过 null 检查的形参设为可以为 null

  • 设为重写

  • 设为参数 '<unknown>'

  • 将属性设为仅初始化

  • 将字段设为只读(请参见 将字段设为只读

  • 设为密封

  • 设为静态

  • 设为静态外部

  • 将类型设为非可空

  • 设为虚拟

  • 标记为可空(请参见 值和可空性分析

  • 合并 'and' 模式

  • 合并条件表达式

  • 合并到模式中

  • 合并嵌套属性模式

  • 将注解移动到另一部分

  • 将声明移至循环条件内

  • 将局部函数移到作用域的末尾

  • 将形参移动到每个扩展成员声明

  • 移至 '' 命名空间

  • 将 'with' 元素移至首位

  • 点继承者必须是结构体

  • N 单元设为静态

  • 覆盖隐藏

  • 将签名括在圆括号中

  • 传递结构化日志记录的实参

  • 传递字符串内插

  • 优先使用泛型方法重载

  • 放入块中

  • 重定向到捕获成员

  • 引用名为字段的成员

  • 将特性重定位到形参

  • 移除 '()'(请参见 代码语法样式:可选括号

  • 移除 'abstract' 关键字

  • 移除访问权限修饰符

  • 移除参数名称规范(请参见 代码语法样式:命名/位置参数

  • 移除 'as' 运算符

  • 移除异步并更新返回值

  • 移除属性

  • 移除 'Attribute' 后缀

  • 移除类型转换

  • 移除 'Cast<T>' 调用

  • 移除 'class' 关键字

  • 移除 'ConfigureAwait(true)'

  • 移除弃元

  • 移除重复语句

  • 移除 'partial void' 方法的空实现

  • 移除空区域

  • 移除显式属性

  • 移除 global using 指令

  • 移除临界子句

  • 移除初始化器

  • 移除无效的语句

  • 移除修饰符

  • 删除 "new" 修饰符

  • 移除值类型的 null 检查

  • 移除不带 '#nullable' 上下文的可以为 null 注解

  • 移除 'override' 修饰符

  • 移除参数类型规范

  • 移除 'partial' 关键字

  • 移除禁止的修饰符

  • 移除属性赋值

  • 移除冗余的 '.WithCancellation'

  • 移除冗余的 '?'

  • 移除冗余的 [CallerArgumentExpression] 实参值

  • 移除冗余的实参值

  • 移除冗余的 'ascending'

  • 移除冗余的特性

  • 移除冗余的基构造函数调用

  • 移除冗余的 'base()'

  • 移除冗余的主体

  • 移除冗余大括号

  • 移除冗余的 'catch'

  • 移除多余的集合复制调用

  • 移除冗余的比较

  • 移除冗余的条件

  • 移除多余的构造函数

  • 移除冗余的 'ContainsKey'

  • 移除冗余的委托构造函数调用

  • 移除冗余的 else

  • 移除冗余的空语句

  • 移除冗余的 'finally' 块

  • 移除冗余的固定指针声明

  • 移除冗余的 'int'

  • 移除多余的 'internal' 修饰符(请参见 代码语法样式:修饰符

  • 移除冗余的 'is'

  • 移除冗余的成员初始值设定项

  • 移除冗余的名称

  • 移除冗余的 'new'

  • 移除冗余的可以为 null 的指令

  • 移除冗余形参

  • 移除多余的括号(请参见 代码语法样式:可选括号

  • 移除多余的括号(参见 代码语法样式:可选括号

  • 移除冗余的范围界限

  • 移除冗余的部分

  • 移除冗余的签名

  • 移除冗余的 spread 元素

  • 移除多余的 'string.Format()' 调用(请参见 代码分析和字符串字面量的辅助功能

  • 移除冗余的禁止

  • 移除冗余的 switch 表达式 arm

  • 移除冗余的 'ToCharArray()'

  • 移除冗余的 true 模式

  • 移除多余的元组组件名称

  • 移除冗余的类型实参

  • 移除冗余的类型规范

  • 移除冗余的逐字字符串前缀

  • 移除 'scoped' 关键字

  • 移除 'sealed' 关键字

  • 移除分号

  • 移除语句

  • 移除子模式

  • 移除 to string(请参见 代码分析和字符串字面量的辅助功能

  • 移除 'unchecked' 表达式

  • 移除不必要的空格

  • 移除 'unsafe' 修饰符

  • 移除文件中的未使用指令

  • 移除未使用的标签

  • 移除未使用的可以为 null 的指令

  • 移除未使用的变量

  • 移除 'virtual' 关键字

  • 移除 'with' 元素

  • 重命名所有下划线形参

  • 重命名为 ''

  • 用 '' 替换 ''

  • 将转换替换为显式变量类型

  • 将转换替换为 lambda 返回值类型

  • 将转换替换为类型实参

  • 将转换替换为模式变量

  • 将制表符替换为空格

  • 将 'unsafe' 语句替换为其主体

  • 替换为访问最后一个元素 '^1'

  • 替换为常量模式

  • 替换为计数访问

  • 替换为 'field' 关键字

  • 替换为 JetBrains.Annotations 特性

  • 替换为主构造函数形参

  • 替换为精确读取流

  • 替换为字符串内容检查

  • 再次抛出异常

  • 使用空行分隔语句

  • 简化求反模式

  • 简化求反关系模式

  • 简化原始字符串

  • 使用 'GetValueOrDefault' 简化

  • 使用单个 'Add' 简化

  • 使用单个 'Remove' 简化

  • 使用 'TryAdd' 简化

  • 使用 'TryGetValue' 简化

  • 排序修饰符(请参见 代码语法样式:修饰符

  • 指定特性目标

  • 十六进制转义后拆分字符串

  • 通过析构交换

  • 转换为复合赋值

  • 转换为计算属性

  • 转换为条件表达式

  • 转换为显式字段声明

  • 转换为扩展方法调用

  • 至 GUID 引用

  • 转换为 null 合并复合赋值

  • 转换为正则字符串

  • 转换为字符串字面量

  • 从异步等待中解包

  • 从委托创建中解开

  • 解开 'params' 实参

  • 使用注解语法

  • 使用 'ArgumentNullException.ThrowIfNull'

  • 使用数组空方法

  • 使用数组初始值设定项

  • 使用异步重载

  • 使用 'await using'

  • 使用基类限定符

  • 使用集合表达式

  • 使用集合初始值设定项

  • 使用编译器特性

  • 使用具体值

  • 使用条件访问

  • 使用 'ConfigureAwait(false)'

  • 使用弃元赋值

  • 使用 'EventArgs.Empty'

  • 使用显式名称 ''

  • 使用显式类型 - 根据 代码样式设置使用 'var' 或显式类型。

  • 使用从结尾索引表达式

  • 使用 'nameof' 表达式

  • 使用求反模式

  • 使用 null 检查模式

  • 使用 null 传播

  • 使用可空简写形式

  • 使用 null 合并表达式

  • 使用对象初始值设定项

  • 使用定义部分的形参名称

  • 使用模式匹配

  • 使用位置析构模式

  • 使用范围索引器

  • 使用堆栈分配的 span 类型

  • 使用字符串内插

  • 使用符号别名

  • 使用 ToArray()

  • 使用类型注解语法

  • 使用 'Type.EmptyTypes'

  • 使用无符号右移运算符 '>>>'

  • 使用 UTF-8 字符串字面量

  • 使用 'var' 模式

  • 使用 'with' 表达式

  • 用构造函数包装

  • 使用 lambda 包装

HTML

  • 添加/更改引号

JavaScript

  • 添加显式 'null'

  • 添加缺失的逗号

  • 添加/更改引号

  • 转换为模板字符串

  • 修正属性名称

  • 将此列表中的所有变量设为块作用域

  • 将变量 '' 移至内部块

  • 移除意外逗号

  • 重命名为 ''

  • 终止文件中的所有未终止语句

TypeScript

  • 更改公共修饰符以符合样式

  • 更改为 ECMAScript 6 'export default'

  • 将 cast 转换为 'as' 运算符

  • 转换为 ECMAScript 6 import 语句

  • 修正相对路径样式

  • Js2 ts 转换

  • 移除冗余的限定符

  • 移除冗余引用注释

  • 移除冗余的类型规范

  • 移除未使用的 'import'

  • 显式指定 ''

  • 显式指定变量类型

VB.NET

  • 将形参替换为 '_'

  • 导入类型(请参见 导入缺失的命名空间

  • 导入类型快速弹出窗口(请参见 导入缺失的命名空间

  • 设为抽象

  • 将自动属性设为仅 get(请参见 将自动属性设为仅可读

  • 将类设为密封

  • 设为非只读

  • 设为非静态

  • 设为非虚拟

  • 设为不可继承

  • 将属性设为仅初始化

  • 将字段设为只读(请参见 将字段设为只读

  • 设为静态

  • 移至 '' 命名空间

  • 传递字符串内插

  • 移除 'ByVal' 修饰符

  • 移除多余的元素

  • 移除文件中冗余的 'imports'

  • 移除冗余的限定符

  • 移除未使用的标签

  • 移除未使用的变量

  • 重命名为 ''

  • 转换为隐式类型化

  • 使用字符串内插

  • V b 将字段设为只读(请参见 将字段设为只读

XAML

  • 移除禁止的 name 特性

  • 移除冗余附加属性 setter

  • 移除冗余定义

  • 移除冗余空集合属性 setter

  • 移除多余的冻结属性

  • 移除冗余的 'Mode' 特性

  • 移除冗余修饰符特性

  • 移除冗余名称特性

  • 移除冗余命名空间别名

  • 移除冗余资源

  • 移除冗余 span 特性

  • 移除冗余样式属性 setter

  • 移除冗余的 'UpdateSourceTrigger' 特性

  • 重命名为 ''

此功能在以下语言和技术中 受支持

语言:C#

语言:VB.NET

语言:C++

语言:ASP.NET

语言:Razor

语言:XAML

语言:Resx

语言:构建脚本

语言:SQL

此功能在 C# 中可用

此功能在 Visual Basic 中可用

此功能在 C++ 中可用

此功能在 ASP.NET 中可用

此功能在 Razor 中不可用

此功能在 XAML 中不可用

此功能在资源文件中不可用

此功能在构建脚本文件中不可用

此功能在 SQL/NoSQL 文件和注入中不可用

此处提供的说明和示例针对在 C# 中使用该功能。 有关其他语言的更多信息,请参阅 语言和框架 部分中的相应主题。

最后修改日期: 2025年 9月 27日