代码语法样式:单层嵌套语句的大括号
C# 规范允许您在某些父语句下安全地省略单个嵌套语句周围的大括号,例如 if-else、 foreach 等。 然而,代码样式指南在这方面可能有所不同。 有些人认为这里的大括号是必需的,有些人则认为它们是多余的。 无论您偏好哪种样式,重要的是在整个代码库中一致地使用大括号。 使用 JetBrains Rider,您可以定义在每种代码块后使用大括号的偏好并强制执行此样式。
JetBrains Rider 还提供了多个 格式化规则 ,用于大括号布局(空格、制表符和换行)。 您可以在 Rider 设置中配置这些规则 Ctrl+Alt+S ,例如,转到 页面并检查 大括号布局 选项卡上的偏好。
JetBrains Rider 帮助您在现有代码中应用大括号样式,并在使用 代码补全 和 代码生成 功能生成新代码时考虑您的偏好,应用 代码模板 并执行 重构。
应用大括号的样式偏好
默认情况下,JetBrains Rider 不会对单嵌套语句的大括号进行任何操作,因为所有相关的 代码检查都被禁用。 因此,如果您希望 JetBrains Rider 控制单层嵌套语句的样式偏好并通知您偏好违规,您需要先 配置您的偏好。
JetBrains Rider 高亮显示不符合您偏好的代码,并建议相应的 快速修复或 范围修复。 例如,您可以选择为 示意图 使用大括号:

另一种以批量模式强制执行单语句周围大括号偏好的选项是 代码清理。 您可以使用内置的配置文件之一 运行代码清理 ,例如 完全清理或 重新格式化并应用语法样式 ,或者创建并运行 仅针对特定任务的自定义配置文件 ,如下所述。
使用自定义代码清理配置文件应用大括号偏好
按下 Ctrl+Alt+S 或从菜单中选择 (Windows 和 Linux)或 (macOS)。
转到代码清理配置文件设置页面: 。
按照 创建新的自定义清理配置文件 部分中描述的步骤创建一个新配置文件。 在新配置文件的 选定的配置文件设置 部分中,勾选 为单行语句添加/移除大括号... 复选框。 您还可以选择在此配置文件中启用其他代码清理任务。
在 设置 对话框中点击 保存 以应用修改,并让 JetBrains Rider 选择保存位置,或者通过从 保存 选择器中选择特定设置层来保存修改。 如需了解更多信息,请参见 基于层的设置。
选择您希望强制执行偏好的范围:
将光标放置在文件中的任意位置,以对文件强制执行您的偏好设置。
在 解决方案资源管理器 中选择一个或多个项目,以对这些节点及其子项下的文件强制执行您的偏好设置。
按 Ctrl+R, C 或从主菜单中选择 。
在打开的 重新格式化并清理代码 对话框中,选择新创建的配置文件,并根据需要选择另一个范围。 在打开的 重新格式化并清理代码 对话框中,选择新创建的配置文件,并在需要时选择其他作用域。
点击 确定。 JetBrains Rider 将在选定范围内强制执行您的偏好设置。
如果您希望在不打开 重新格式化并清理代码 对话框选择配置文件的情况下强制执行大括号偏好,您可以将创建的配置文件绑定到 静默清理 ,并通过按 Ctrl+R, G 运行它。 您还可以创建一个 自定义清理配置文件 ,将应用偏好设置与其他代码样式任务结合起来。
要将可选大括号偏好与所有其他 格式化 和 语法样式 规则一起应用于选定的代码块, Alt+Enter 并选择 。
您可以在最近修改并准备提交到 Git 的代码中应用大括号样式。 JetBrains Rider 将在提交之前运行选定的 清理配置文件。
在提交到 Git 之前清理代码
按 Ctrl+K 或从主菜单中选择 。
在 提交 工具窗口中,点击
,并在 提交检查 区域中,选择 清理方式... 复选框。
点击 选择配置文件 并选择您的自定义 Code Cleanup 配置文件。
点击 提交 或 提交并推送。 JetBrains Rider 将在提交暂存的文件中运行代码清理,然后提交更改。
您可以在每次保存文件更改时应用大括号样式,以确保您的编辑始终符合代码样式。 请注意,这仅在您通过 Ctrl+S 或 Ctrl+S 显式保存更改时发生,不会因 自动保存 而触发。 然而,所有自动保存的文件都会被放入“重新格式化和清理”队列,并将在下次显式保存时处理。
在保存更改时自动应用大括号样式
按下 Ctrl+Alt+S 打开设置,然后选择 。
选择 重新格式化并清理代码 ,选择您的自定义 Code Cleanup 配置文件,并决定是将其应用于整个文件还是仅应用于更改的行。
下次您完成编辑并保存文件或所有文件时,JetBrains Rider 将使用选定的配置文件清理受影响的文件。
配置单语句下的大括号偏好
您的大括号样式偏好是通过 基于层的设置机制保存的。 此外,该机制允许您为不同的解决方案维护不同的偏好,并将这些偏好保存在 VCS 中,自动与团队成员共享。
配置大括号偏好
您还可以直接在编辑器中更改大括号偏好,其中会高亮显示相应的问题:
