JetBrains Rider 2025.2 Help

快速修复示例

快速修复适用于多种情况,范围过大无法一一列举。 JetBrains Rider 在所有支持的语言中共提供了超过 1200 种快速修复。 这里我们将通过一些示例情况展示如何使用它们:

类型不匹配

每当表达式的类型无法隐式转换为表达式上下文中适用的类型时,JetBrains Rider 会检测到此错误并在编辑器中高亮显示。 将插入符号放在高亮错误处并按下 Alt+Enter 后,您可以从以下列表中选择一个快速修复:

JetBrains Rider:类型不匹配快速修复

应用建议的快速修复后的效果在下表中说明。

快速修复

效果

转换为 字符串

JetBrains Rider:类型不匹配快速修复

安全转换为 字符串

JetBrains Rider:类型不匹配快速修复

o 的类型更改为 字符串

JetBrains Rider:类型不匹配快速修复

的类型更改为 对象

JetBrains Rider:类型不匹配快速修复

调用 ToString()

JetBrains Rider:类型不匹配快速修复

未定义变量

每当 JetBrains Rider 检测到代码中未定义的变量时,错误会被高亮显示。 将插入符号放在高亮错误处并按下 Alt+Enter 后,您将看到以下快速修复列表:

JetBrains Rider:未定义变量快速修复

应用建议的快速修复后的效果在下表中说明。

快速修复

效果

创建局部变量

创建了一个新的局部变量 ,建议您选择所需的类型。

在包含的方法中创建参数

在方法签名中添加了一个新参数:

JetBrains Rider:未定义变量快速修复

创建其他

打开一个子菜单,您可以选择在相应的类中创建字段或属性。 例如,如果您选择创建字段,则会在当前类中创建一个新的私有字段 。 以下建议将出现,帮助您选择新字段的正确类型:

JetBrains Rider:未定义变量快速修复

更改所有

如果您选择 全部更改 ,将显示以下建议:

JetBrains Rider:未定义变量快速修复

只需输入一次新名称;JetBrains Rider 会更改未定义变量的所有其他出现位置:

JetBrains Rider:未定义变量快速修复

未定义方法调用

每当 JetBrains Rider 检测到代码中对未定义方法的调用时,错误会被高亮显示。 将插入符号放在高亮错误处并按下 Alt+Enter 后,JetBrains Rider 会显示以下快速修复列表:

JetBrains Rider:未定义方法调用快速修复

应用快速修复后,代码的修改效果如下表所示:

快速修复

效果

创建方法

此快速修复声明了一个新方法,其签名来源于方法调用,方便偏好自顶向下编程的开发者。 在我们的示例中,JetBrains Rider 创建了以下声明,并正确推测了返回类型:

JetBrains Rider:未定义方法调用快速修复

JetBrains Rider 还会为新方法的参数建议适用的类型和名称:

JetBrains Rider:未定义方法调用快速修复

创建其他

此子菜单包含涉及创建辅助代码的其他快速修复。 例如:

在包含方法中创建参数

此快速修复会从未解析的符号中在当前方法中创建一个新参数,但不会更新其基方法或继承者。

在包含方法中创建参数并更新层次结构

此快速修复会从未解析的符号中在当前方法中创建一个新参数,并将此参数引入方法可能具有的任何基成员和继承者中。

全部更改

与针对 未定义变量的相应快速修复类似,此快速修复允许您快速替换符号 someMethod 的所有出现。

遗忘的方法返回值

如果一个方法需要返回一个值,但您忘记提供 返回 语句,JetBrains Rider 会通过高亮显示有问题方法的结束括号来提醒您。 将插入符号放在高亮错误处并按下 Alt+Enter 后,您将看到以下快速修复选项:

JetBrains Rider:遗忘的方法返回值快速修复

快速修复

效果

添加返回语句

应用快速修复后,JetBrains Rider 会添加一个 返回 语句,返回 null

使方法返回 void

应用快速修复后,JetBrains Rider 会将方法的初始返回类型替换为 void

缺少 Using 指令

当您的代码中有一个类型名称无法解析,因为您忘记在文件中编写相应的 using 指令时,一个小弹窗会建议导入该类型:

JetBrains Rider:命名空间导入快速修复

按下 Alt+Enter 后,将插入适当的 using 指令。 如果有多个具有匹配名称的类型,您将被要求选择您希望使用的类型(有关更多信息,请参阅 导入命名空间)。

If you chose not to import a required namespace when the popup was displayed, or if you disabled 在编辑器中显示“导入缺失引用”弹窗 on the 编辑器丨常规丨自动导入 page of JetBrains Rider 设置 Ctrl+Alt+S, you can import a type at any time by placing the caret at the type, pressing Alt+Enter and choosing the corresponding quick-fix.

JetBrains Rider:缺少命名空间导入的快速修复

您可能希望某些类型或命名空间不被建议,例如,如果您的解决方案中有类似于系统类型的内容,比如 MyFramework.MyCollections.List ,但实际上并未使用它。 To exclude such items from the suggestions, add them to the 从导入和补全中排除 list on the 编辑器丨常规丨自动导入 page of JetBrains Rider 设置 Ctrl+Alt+S.

条目的格式为 Fully.Qualified.NameFully.Qualified.Name.Prefix**Fully.Qualified.Name.Suffix。 泛型类型的指定格式为 List`1

缺少 async 修饰符

如果您有一个包含 await 运算符的方法,但未定义为异步,JetBrains Rider 会检测到此类不匹配,并提供使用相应快速修复来解决此问题的选项。

之前:

JetBrains Rider:缺少 async 修饰符快速修复

应用快速修复:

JetBrains Rider:缺少 async 修饰符快速修复

之后:

JetBrains Rider:缺少 async 修饰符快速修复

将循环转换为 LINQ 表达式

通过 C# 3.0 和 LINQ,开发人员可以更轻松地编写数据密集型代码,直接向编译器描述其意图。 JetBrains Rider 检测到可以使用 LINQ 语法重写的代码,并提供自动执行转换的选项:

之前:

JetBrains Rider:将循环转换为 LINQ 表达式快速修复

应用快速修复:

JetBrains Rider:将循环转换为 LINQ 表达式快速修复

之后:

JetBrains Rider:将循环转换为 LINQ 表达式快速修复

迁移到方法参数和返回值中的 IEnumerable

JetBrains Rider 扫描您的代码库,以检测可以安全地返回和接受 IEnumerable 而不是更具体类型(如 数组列表ArrayList )的方法:

之前:

JetBrains Rider:迁移到方法参数和返回值中的 IEnumerable

应用快速修复:

JetBrains Rider:迁移到方法参数和返回值中的 IEnumerable

之后:

JetBrains Rider:迁移到方法参数和返回值中的 IEnumerable

将赋值语句转换为对象初始化器

JetBrains Rider 提供了上下文操作和快速修复,用于将赋值语句转换为对象初始化器。 上下文操作允许您逐一将字段赋值添加到初始化器,而快速修复会一次性添加所有字段赋值。 以下是快速修复的工作方式:

之前:

JetBrains Rider:将赋值语句转换为对象初始化器

应用快速修复:

JetBrains Rider:将赋值语句转换为对象初始化器

之后:

JetBrains Rider:将赋值语句转换为对象初始化器

将静态方法调用转换为扩展方法调用

当您以传统 C# 静态方法的方式调用扩展方法时,JetBrains Rider 帮助您快速遵循标准的扩展方法调用规范:

之前:

JetBrains Rider:将静态方法调用转换为扩展方法调用

应用快速修复:

JetBrains Rider:将静态方法调用转换为扩展方法调用

之后:

JetBrains Rider:将静态方法调用转换为扩展方法调用

将匿名方法转换为 lambda 表达式

JetBrains Rider 建议将匿名方法转换为 lambda 表达式。 反向功能作为上下文操作提供。

之前:

JetBrains Rider:将匿名方法转换为 lambda 表达式

应用快速修复:

JetBrains Rider:将匿名方法转换为 lambda 表达式

之后:

JetBrains Rider:将匿名方法转换为 lambda 表达式

转换为自动属性

JetBrains Rider 使得将传统的基于私有字段的属性快速转换为 C# 3.0 中实现的自动属性变得简单。 如需了解更多信息,请参阅 使用自动属性

之前:

JetBrains Rider:转换为自动属性

应用快速修复:

JetBrains Rider:转换为自动属性

之后:

JetBrains Rider:转换为自动属性

使类型参数不变

当类型参数的使用违反其变体时,JetBrains Rider 建议将参数设为不变:

之前:

JetBrains Rider:使类型参数不变

应用快速修复:

JetBrains Rider:使类型参数不变

之后:

JetBrains Rider:使类型参数不变
最后修改日期: 2025年 9月 26日