JetBrains Rider 2025.2 Help

C++ 中的代码样式辅助

JetBrains Rider 提供了许多功能,帮助您保持代码整洁。 与大多数其他 JetBrains Rider 功能紧密结合,它们帮助您根据特定的代码样式生成代码并更改现有代码库。 代码样式包括命名标准、格式化规则以及许多其他细节,可以配置到非常详细的级别,并在团队中共享。

与其他语言类似,所有 C++ 代码样式偏好都可以通过单个命令在所需范围内应用,使用 在范围内修复代码清理

请注意,内置的代码清理配置文件不包括某些 C++ 特定任务,因此您需要 创建一个新的自定义配置文件以启用它们。

管理和应用代码格式化规则

代码样式的一个重要方面是如何格式化代码,即如何使用空格、制表符和换行符来排列代码元素,是否以及如何使用制表符缩进,是否以及如何换行长行代码,等等。

JetBrains Rider 提供的广泛代码格式化规则集具有默认配置,考虑了许多最佳实践。 您可以 配置格式化规则的每个细节,并在代码中强制执行这些规则。 当 JetBrains Rider 使用 代码补全代码生成功能生成新代码时,应用 代码模板并执行 重构时,这些规则会被应用。 格式化规则也可以 应用于现有代码 ,包括当前选区、当前文件或更大范围,直至整个解决方案。

JetBrains Rider 使用 共享设置机制存储格式化偏好。 您可以在 编辑器 | 代码样式 | C++ 组下的选项页面中 配置格式化规则。 您还可以在 EditorConfigClang-Format文件中 存储和共享格式化设置

命名样式

JetBrains Rider 帮助您定义、控制和应用代码中符号的命名样式。 有一组规则,每条规则针对具有约束条件的特定标识符。 每条规则可以有一个或多个关联样式,这些样式定义了复合词的大小写、下划线、后缀、前缀等。

当 JetBrains Rider 使用 代码补全代码生成 功能生成新代码时,应用 代码模板 或执行 重构 时,这些规则都会被考虑。 JetBrains Rider 还帮助您 检测并修复命名规则的违规情况。 如果需要,可以 配置或禁用 命名规则的自动检查。

编辑命名规则

  1. 在 Rider 设置 Ctrl+Alt+S 中,转到 编辑器 | 代码样式 | C++ 并打开 命名 选项卡。

  2. 在列表中选择所需的规则。

  3. 在页面右侧,检查规则的现有样式。

  4. 如果现有样式可接受,但您希望为此规则允许其他样式,请单击 添加 。当单个规则有多个样式时,如果符号名称至少符合其中一种样式,JetBrains Rider 不会 报告代码样式违规。 否则,JetBrains Rider 会检测到代码样式违规,并建议根据默认样式(列表中的第一个样式)重命名符号。 要更改默认样式,请使用 上移下移 按钮。

  5. 要配置特定样式,请在列表中选择它并配置前缀、后缀,并选择命名样式。

  6. 要删除不必要的样式,请在列表中选择它并单击 移除

  7. 如果需要,您可以禁用与此规则相关的 报告代码样式违规,同时仍允许 JetBrains Rider 检测其他命名规则违规。 为此,请清除 启用检查 复选框。

  8. 在 设置 对话框中点击 保存 以应用修改,并让 JetBrains Rider 选择保存位置,或者通过从 保存 选择器中选择特定设置层来保存修改。 如需了解更多信息,请参见 基于层的设置

如果您 正在处理 UE4 项目 ,JetBrains Rider 将自动应用与 Unreal Engine 编码标准对应的命名规则集,该规则集不可配置。 这意味着,在处理 UE4 项目时,JetBrains Rider 设置 Ctrl+Alt+S编辑器 | 代码样式 | C++ | 命名 页面上配置的规则将被忽略。 如果您仍希望使用您配置的规则集而不是 Unreal Engine 编码标准,可以禁用相应的检查。

JetBrains Rider:应用 UE4 命名约定

排列 cv-限定符

JetBrains Rider 帮助您在 生成的代码中排列 cv-限定符。 在 JetBrains Rider 选项的 语言与框架 | C++ | 代码样式 页面上,您可以指定是否将 cv-限定符放在类型说明符之前或之后,以及 constvolatile 修饰符的顺序。

Include 指令样式

在 JetBrains Rider 选项的 语言与框架 | C++ | 代码样式 页面,您可以指定在 生成的代码 中的 include 指令中使用正斜杠还是反斜杠作为路径分隔符。 您还可以指定是否在头文件中生成前向声明。

排序 Include

JetBrains Rider 允许您对 #包含  指令进行排序,重新排列现有组,并创建用空行分隔的新组。

当插入符号位于  #包含  指令上时, 对 #include 指令排序 子菜单中有三个上下文操作:

排序 #include 指令

对 #include 指令排序和重新分组

此操作将所有  #包含  组合并为一个,然后根据配置的设置对其进行排序并拆分为新组。

JetBrains Rider C++:排序并重新分组 #include 指令

分别对每个 #include 组排序

此操作独立对每个组内的  #包含  指令进行排序,不更改现有分组。

JetBrains Rider C++:分别排序每个 #include 组

仅对当前 #include 组排序

此操作对插入符号所在的组进行排序。

您可以在 JetBrains Rider 设置 的 语言与框架 | C++ | 代码样式 页面上配置排序规则 Ctrl+Alt+S

也可以使用 代码清理 应用 include 的排序。

默认指针初始化样式

您可以指定 0nullptrNULL 作为指针初始化器的首选初始化器,例如: const char *foo = nullptr。 您可以在 JetBrains Rider 选项的 语言与框架 | C++ | 代码样式 页面上更改您的偏好。

文件头样式

使用文件头来记录版权声明和其他标识信息是一种常见做法。 JetBrains Rider 允许您配置默认的文件头文本,并将其自动插入到源文件中,或用它替换现有的文件头。

您可以在 JetBrains Rider 设置.editorconfig 文件 中配置文件头样式,然后将其添加到使用 文件模板 创建的新文件中,并使用 代码清理 插入或替换现有文件中的文件头。

为了确保由不同团队成员创建和编辑的文件具有相同的文件头样式,请与您的团队 共享文件头设置

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