C++ 中的代码样式辅助
JetBrains Rider 提供了许多功能,帮助您保持代码整洁。 与大多数其他 JetBrains Rider 功能紧密结合,它们帮助您根据特定的代码样式生成代码并更改现有代码库。 代码样式包括命名标准、格式化规则以及许多其他细节,可以配置到非常详细的级别,并在团队中共享。
与其他语言类似,所有 C++ 代码样式偏好都可以通过单个命令在所需范围内应用,使用 在范围内修复或 代码清理。
请注意,内置的代码清理配置文件不包括某些 C++ 特定任务,因此您需要 创建一个新的自定义配置文件以启用它们。管理和应用代码格式化规则
代码样式的一个重要方面是如何格式化代码,即如何使用空格、制表符和换行符来排列代码元素,是否以及如何使用制表符缩进,是否以及如何换行长行代码,等等。
JetBrains Rider 提供的广泛代码格式化规则集具有默认配置,考虑了许多最佳实践。 您可以 配置格式化规则的每个细节,并在代码中强制执行这些规则。 当 JetBrains Rider 使用 代码补全和 代码生成功能生成新代码时,应用 代码模板并执行 重构时,这些规则会被应用。 格式化规则也可以 应用于现有代码 ,包括当前选区、当前文件或更大范围,直至整个解决方案。
JetBrains Rider 使用 共享设置机制存储格式化偏好。 您可以在 组下的选项页面中 配置格式化规则。 您还可以在 EditorConfig和 Clang-Format文件中 存储和共享格式化设置。
命名样式
JetBrains Rider 帮助您定义、控制和应用代码中符号的命名样式。 有一组规则,每条规则针对具有约束条件的特定标识符。 每条规则可以有一个或多个关联样式,这些样式定义了复合词的大小写、下划线、后缀、前缀等。
当 JetBrains Rider 使用 代码补全 和 代码生成 功能生成新代码时,应用 代码模板 或执行 重构 时,这些规则都会被考虑。 JetBrains Rider 还帮助您 检测并修复命名规则的违规情况。 如果需要,可以 配置或禁用 命名规则的自动检查。
编辑命名规则
在 Rider 设置 Ctrl+Alt+S 中,转到 并打开 命名 选项卡。
在列表中选择所需的规则。
在页面右侧,检查规则的现有样式。
如果现有样式可接受,但您希望为此规则允许其他样式,请单击 添加 。当单个规则有多个样式时,如果符号名称至少符合其中一种样式,JetBrains Rider 不会 报告代码样式违规。 否则,JetBrains Rider 会检测到代码样式违规,并建议根据默认样式(列表中的第一个样式)重命名符号。 要更改默认样式,请使用 上移 和 下移 按钮。
要配置特定样式,请在列表中选择它并配置前缀、后缀,并选择命名样式。
要删除不必要的样式,请在列表中选择它并单击 移除。
如果需要,您可以禁用与此规则相关的 报告代码样式违规,同时仍允许 JetBrains Rider 检测其他命名规则违规。 为此,请清除 启用检查 复选框。
在 设置 对话框中点击 保存 以应用修改,并让 JetBrains Rider 选择保存位置,或者通过从 保存 选择器中选择特定设置层来保存修改。 如需了解更多信息,请参见 基于层的设置。
如果您 正在处理 UE4 项目 ,JetBrains Rider 将自动应用与 Unreal Engine 编码标准对应的命名规则集,该规则集不可配置。 这意味着,在处理 UE4 项目时,JetBrains Rider 设置 Ctrl+Alt+S 的 页面上配置的规则将被忽略。 如果您仍希望使用您配置的规则集而不是 Unreal Engine 编码标准,可以禁用相应的检查。

排列 cv-限定符
JetBrains Rider 帮助您在 生成的代码中排列 cv-限定符。 在 JetBrains Rider 选项的 页面上,您可以指定是否将 cv-限定符放在类型说明符之前或之后,以及 const 和 volatile 修饰符的顺序。
Include 指令样式
在 JetBrains Rider 选项的 页面,您可以指定在 生成的代码 中的 include 指令中使用正斜杠还是反斜杠作为路径分隔符。 您还可以指定是否在头文件中生成前向声明。
排序 Include
JetBrains Rider 允许您对 #包含  指令进行排序,重新排列现有组,并创建用空行分隔的新组。
当插入符号位于  #包含  指令上时, 对 #include 指令排序 子菜单中有三个上下文操作:
排序 #include 指令 | |
|---|---|
对 #include 指令排序和重新分组 | 此操作将所有  ![]() |
分别对每个 #include 组排序 | 此操作独立对每个组内的  ![]() |
仅对当前 #include 组排序 | 此操作对插入符号所在的组进行排序。 |
您可以在 JetBrains Rider 设置 的 页面上配置排序规则 Ctrl+Alt+S。
也可以使用 代码清理 应用 include 的排序。
默认指针初始化样式
您可以指定 0、 nullptr 或 NULL 作为指针初始化器的首选初始化器,例如: const char *foo = nullptr。 您可以在 JetBrains Rider 选项的 页面上更改您的偏好。
文件头样式
使用文件头来记录版权声明和其他标识信息是一种常见做法。 JetBrains Rider 允许您配置默认的文件头文本,并将其自动插入到源文件中,或用它替换现有的文件头。
您可以在 JetBrains Rider 设置 或 .editorconfig 文件 中配置文件头样式,然后将其添加到使用 文件模板 创建的新文件中,并使用 代码清理 插入或替换现有文件中的文件头。
为了确保由不同团队成员创建和编辑的文件具有相同的文件头样式,请与您的团队 共享文件头设置。

