ReSharper 2025.2 Help

编辑器行为

ReSharper 选项:环境 | 编辑器 | 行为

此 ReSharper 选项页面允许您调整 ReSharper 在 编辑器 中的行为。

输入辅助

使用 CamelHumps

为以下操作启用 CamelHumps

  • 扩展/收缩选择Control+W/Control+Shift+W

  • 扩展选择到下一个/上一个单词 Ctrl+Shift+右箭头 / Ctrl+Shift+左箭头

  • 跳转到下一个/上一个单词 Ctrl+左箭头 / Ctrl+右箭头

  • 从单词开头到插入点删除文本 Ctrl+Backspace

  • 删除从文本光标到单词末尾的文本 Ctrl+Delete

如果选中此复选框,当您使用这些操作时,将考虑组成 CamelCased 名称的单词。

输入分号时自动格式化

如果选中此复选框,当您键入分号时,ReSharper 会将 代码格式化规则 应用于语句。

输入右大括号时自动格式化

如果选中此复选框,当您键入代码块的右大括号时,ReSharper 会将 代码格式化规则 应用于代码块。

粘贴时自动格式化

此选择器允许您配置是否对粘贴的代码应用 代码格式化规则。 默认情况下,ReSharper 仅在您粘贴代码时应用缩进设置,这对于您不想严格遵循格式化规则时是一个方便的选项。

请注意,默认情况下,Visual Studio 会对已编辑和粘贴的代码应用其自身的格式规则。 如果您正在使用 ReSharper 的自动格式化功能,我们建议您禁用 Visual Studio 的自动格式化。 您可以在 Visual Studio 选项中完成此操作(工具 | 选项)。 例如,对于 C#,清除 文本编辑器 | C# | 代码样式 | 格式化 | 常规 选项页面上的相应复选框。

更正通用语言特定的拼写错误

如果选中此复选框,ReSharper 会自动修正输入错误的字符 - @$ 在逐字字符串插值中括号内的点或分号

如果您更喜欢在没有前导零的情况下指定双精度值,例如 DoSomething(.33); ,您可能希望清除此复选框。

启用结构化移除

ReSharper 可以在您删除不同代码结构的部分后自动删除剩余的空格和辅助字符。 例如,在删除参数或参数后 , ,在删除属性后 [] ,或在删除初始化器后 =

当您按下 Backspace Delete Ctrl+X 键选择代码元素时,或在使用 结构化选择Control+W )或 结构化导航 标签页 )时,或者在 重新排列元素 Ctrl+Shift+Alt + 上/下/左/右 )后选择存在时,会发生这种情况。

ReSharper:结构化删除

在回车时智能缩进

如果选中此复选框,每次您在编辑器中按下 输入 时,ReSharper 将根据影响缩进的所有设置计算下一行的缩进,例如是否以及如何使用制表符(可在 代码编辑 | 通用格式化样式 上配置),是否对链式方法调用对齐(可在 代码编辑 | C# | 格式化样式 | 换行和换行符 上配置)等。

如果清除此复选框,下一行将根据 Visual Studio 设置对齐。

按 Enter 时插入虚拟缩进

如果启用此选项,ReSharper 不会在您按下 输入 后立即插入缩进字符(这些字符可能是空格、制表符或两者的混合,具体取决于设置)。 但是,它会根据为此行计算的缩进设置插入点。 如果您在此行中键入任何内容,将添加缩进字符;如果您再次按下 输入 ,将不会留下尾随空格。

如果您更喜欢使用制表符缩进、使用空格对齐,您可能希望禁用此选项。

在 /* 后按 Enter 时插入 *

如果启用此选项,当您按下 输入 时,ReSharper 会在块注释的每一行开头插入星号 *。 即使启用了此选项,您也可以按 Shift+Enter 添加没有前导星号的新行。

使用 Tab 跳出右中括号

启用此选项后,您可以按 标签页 跳出括号(大括号、方括号和圆括号)以及引号,当您的插入点正好位于关闭括号或引号之前时。
当您的插入点自动设置在通过 代码补全 创建的括号或引号内时,这非常方便,您可以继续输入而无需按下右箭头键。

嵌套选项 在字符串字面量中按 Tab 跳出关闭引号/括号 允许您在字符串字面量中切换此行为。

嵌套选项 当 Tab 位于缩进位置时按 Tab 跳出关闭括号 允许您在使用括号的代码结构跨多行且插入点位于新行开头紧靠关闭括号之前时切换此行为。 例如:

Console.WriteLine( "one" + "two" /*caret*/);

按 Tab 时

此选择器允许您指定 标签页 键在缩进位置的行为。

  • 使用 Visual Studio 行为 — 将执行 Visual Studio 设置中配置的操作。

  • 插入 Tab/空格以增加缩进 — 将插入制表符符号或根据 ReSharper 设置对应于制表符大小的若干空格。

  • 重新缩进(调整缩进) — 将插入必要数量的制表符和/或空格,以便您可以在当前行根据代码结构预期的缩进位置开始输入。

按退格时取消缩进

此选项定义了当按下 Backspace 键时的行为,无论是在空行上还是在插入点左侧只有空格和制表符的情况下。 可用选项包括:

  • 已禁用 — 每次将插入点向后移动一个位置。

  • 到最近的缩进位置 — 将插入点移动到当前缩进大小的倍数的最近位置。

  • 到正确的缩进位置 (默认)— 将插入点移动到根据代码结构预期的缩进位置。

分隔符字符

输入引号、大括号或圆括号时包围选区

如果选中此复选框,您可以选择一个代码块或表达式,然后键入一个开括号 { 或闭括号 } ,将选择内容放入括号中,或者键入一个开圆括号 ( 或闭圆括号 ) ,将选择内容放入圆括号中。

自动插入成对的方括号、圆括号和引号

如果选中此复选框,每当您键入相应的开括号元素 [("' 时,会自动创建闭括号、圆括号或引号。 如果您改变主意并按下 Backspace 删除开括号,其对应的闭括号也会被删除。

移除串联字符串之间的加号时将串联字符串连接起来

默认情况下,如果您删除字符串字面量连接部分之间的 + 符号,这些部分将合并为一个单一的字面量,并删除多余的引号。

使用此选项可禁用此行为。

自动插入右大括号

如果选中此复选框,将自动插入闭括号:

  • 在您键入开括号(输入左大括号时 )后立即插入。

  • 在您键入开括号并按下 输入 输入左大括号后按 Enter 键时 )后插入。

结构化导航(C#、XML、Web 语言)

使用 Tab/Shift+Tab 键进行结构化导航

此复选框启用 结构化导航 ,并覆盖 标签页 Shift+Tab 的行为。 还有几个子选项允许您指定何时应保留这些键的标准行为。

C#

在类型名称后输入 '!'/'?' 时注解为 null 性

启用此选项后,当您在方法签名或成员声明中键入类型名称后输入 '!' 或 '?' 时,ReSharper 将 自动添加 [NotNull]/[CanBeNull] 注解。 例如:如果您键入 public void Foo(string? ,ReSharper 将自动将其转换为 public void Foo([CanBeNull] string

在其他位置输入 '!'/'?' 时注解为 null 性

启用此选项后,当您在方法签名或成员声明中键入声明符号或参数的名称后输入 '!' 或 '?' 时,ReSharper 将 自动添加 [NotNull]/[CanBeNull] 注解。 例如:如果您键入 public void Foo(string myStr? ,ReSharper 将自动将其转换为 public void Foo([CanBeNull] string myStr

当参数标注为 'NotNull' 时插入参数空值检查

如果参数标记了 [NotNull] 属性,您可以将光标直接放在参数名称或参数类型之后并按下 !

private void Foo([NotNull] object/*!*/ arg/*!*/)

ReSharper 将为此参数 生成空值检查。 您可以在 ReSharper 选项 的 代码编辑 | C# | 空值检查 页面上配置空值检查模式 Alt+R, O

Visual Basic.NET

插入结束结构

如果选中此复选框,当您键入开头部分时,ReSharper 将自动添加匹配的结束结构。 例如,当您键入 Sub 时,将自动添加 End Sub

HTML

按 Enter 时自动格式化

如果选中此复选框,当您按下 输入 后,ReSharper 会将 代码格式化规则 应用于最近键入的代码。

输入结束标记时自动格式化

如果选中此复选框,当您键入元素的闭标签后,ReSharper 会自动格式化最近添加的代码。

同步更改匹配标记

如果选中此复选框,当您编辑元素的起始标签时,ReSharper 会同时更改结束标签,反之亦然。

ASP.NET

按 Enter 时自动格式化

如果选中此复选框,当您按下 输入 后,ReSharper 会将 代码格式化规则 应用于最近键入的代码。

输入结束标记时自动格式化

如果选中此复选框,当您键入元素的闭标签后,ReSharper 会自动格式化最近添加的代码。

同步更改匹配标记

如果选中此复选框,当您编辑元素的起始标签时,ReSharper 会同时更改结束标签,反之亦然。

Razor

按 Enter 时自动格式化

如果选中此复选框,当您按下 输入 后,ReSharper 会将 代码格式化规则 应用于最近键入的代码。

输入结束标记时自动格式化

如果选中此复选框,当您键入元素的闭标签后,ReSharper 会自动格式化最近添加的代码。

同步更改匹配标记

如果选中此复选框,当您编辑元素的起始标签时,ReSharper 会同时更改结束标签,反之亦然。

允许 CPU 密集型输入辅助

如果您正在处理大型 Razor 视图并且编辑器开始变慢,您可以通过清除此复选框来关闭 CPU 密集型的辅助功能和自动建议。

C++、C、HLSL

对右大括号重新缩进

如果选中此复选框,当您键入右大括号时,ReSharper 将根据代码结构和设置自动插入必要数量的制表符和/或空格。

生成文档注释

如果启用此复选框,当您键入 /**/*!/////! 并按下 输入 时,ReSharper 将生成文档注释存根。

在 '/*' 后插入 '*/'

如果选中此复选框,当您键入开头序列(/* )时,ReSharper 将自动添加块注释的闭合序列(*/ ),并将插入点放置在注释内容的位置。

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