ReSharper 2025.3 Help

语法样式

ReSharper 选项:代码编辑 | C++ | 语法样式

此页面上可配置的偏好帮助您强制执行 代码语法样式——如何使用可互换的语言语法结构。 当 ReSharper 使用 代码补全代码生成功能生成新代码、应用 代码模板以及执行 重构时,这些偏好会被考虑在内。 您还可以通过使用具有相应设置的 代码清理将其应用于现有代码。

带有 通知方式 选择器的偏好有相应的代码检查,如果检查范围内的语法样式与首选样式不同,您会收到通知。 使用选择器,您可以配置检查的 严重性级别

对 include 指令排序

选择此选项以突出显示任何违反排序顺序的 #include 指令。

要在 include 指令中使用的斜杠类型

使用此复选框选择 include 指令的首选路径分隔符:正斜杠或反斜杠。

如果可能,首选使用前向声明

如果选择此选项,自动导入会将添加前向声明的选项放在插入 include 指令的选项之前。

使用相对于源文件的路径

您可以使用此选择器配置 ReSharper 在生成的 include 指令中何时可以使用相对路径。

使用尖括号而非引号

默认情况下,生成的 include 指令会以引号添加,如果需要,您可以使用此选择器指定生成的 include 指令以尖括号添加的情况。

默认指针初始值设定项

您可以指定 0nullptrNULL 作为指针初始化器的首选初始化器,例如: const char *foo = nullptr

在成员初始值设定项中使用统一初始化

默认情况下,ReSharper 在生成初始化器时使用 C++03 样式(例如,当您 生成构造函数或应用将初始化器插入现有构造函数的快速修复时)。 您可以选中此复选框以在上述情况下启用 统一初始化

在非 static 数据成员初始值设定项中首选统一初始化

此选项允许您配置 ReSharper 在应用其功能时如何生成非静态数据成员初始化器(NSDMI)。 例如,当您在以下代码中对未初始化的 field 应用 快速修复 Alt+Enter

class test { int field; };

启用此选项时,ReSharper 将生成统一初始化 int field{0}; ;如果禁用此选项,则生成 int field = 0;

按初始化顺序对成员初始值设定项排序

此选项允许您强制执行构造函数初始化列表中成员初始化器的顺序。 类成员按照它们在包含类中的声明顺序进行初始化,因此为了最大限度地减少混淆和错误,常见做法是保持成员初始化器的顺序一致。

变量类型中的 'auto' 使用

此部分中的首选项允许您分别为数字类型和非数字类型配置 auto 的使用。 非数字类型的默认值是 当类型明显时 ,这意味着 auto 说明符仅在从初始化表达式中可以明显推导出类型的情况下引入。

cv 限定符的位置

此部分中的首选项允许您配置 const 关键字应放在其应用的类型之前还是之后,以及 constvolatile 限定符中哪个应优先。

函数声明语法

使用此选项配置在函数声明中是使用尾随返回类型还是常规返回类型。

首选 typedef 或类型别名

使用此选项指定定义类型同义词的首选方式:以别名模板或类型别名的形式。 它还会影响 引入 Typedef重构使用的语法。

嵌套命名空间

使用此选项强制执行 C++17 嵌套命名空间语法,该语法允许您以更简洁的方式声明多级命名空间。

按声明顺序对定义排序

此选项可强制源文件中的排序定义与头文件中的声明顺序保持一致。

重写函数

此部分中的首选项允许您配置在重写函数和析构函数上需要哪些说明符。

大括号

此部分中的首选项允许您定义在 if 语句和不同类型的循环语句下,哪些括号可以省略。 除了直接的 不强制执行 > 和 始终强制执行 选项外,您还可以选择仅在语句跨多行或嵌套语句本身为多行时要求括号。

移除冗余大括号

使用此选项配置 ReSharper 是否应移除不符合所选首选项的可选括号。

最后修改日期: 2025年 12月 8日