C++ 中的内嵌提示
形参名称提示
参数名称提示是编辑器中的装饰,用于在方法调用时在对应的参数旁边显示参数名称。 它们可以帮助您在函数调用和聚合初始化中处理冗长(有时是嵌套的)的参数列表。
在下面的示例中,参数名称提示有助于发现高度和宽度参数被混淆的事实:

参数名称提示显示您正在初始化的成员名称,并帮助理清 C++17 及更高版本中的复杂聚合初始化:

参数名称提示也适用于依赖代码:

命名空间名称提示
在命名空间定义末尾的命名空间名称提示可能会有所帮助,尤其是当您未遵循 LLVM 或 Google 指南时,这些指南建议在命名空间的关闭括号后添加注释:

预处理程序指令提示
预处理器指令提示可帮助您快速了解条件包含(#ifdef、 #ifndef、 #if、 #endif、 #else 和 #elif )如何对应于宏定义:

类型名称提示
类型名称提示在编译器从周围代码中自动推导类型时为您提供帮助。 ReSharper 提供了自动变量、函数和 lambda 返回类型、结构化绑定、依赖代码以及函数调用后的类型名称提示。
自动变量
此类提示适用于使用 auto 或 decltype(auto) 类型说明符的自动推导类型变量。 默认情况下,如果从初始化表达式中可以清楚地推导出类型,例如当初始化是构造函数调用、常量或显式转换时,提示将被隐藏。

函数和 lambda 返回类型
函数和 lambda 的返回类型可以从返回语句中自动推导出来,当它们在代码中被省略时:

结构化绑定
在 C++17 的结构化绑定声明中,类型提示特别有用,因为结构化绑定的类型无法显式指定。

依赖代码
类型提示也适用于依赖代码,但请注意,它们可能会影响性能。 在这种情况下,请在 ReSharper 选项 的 页面上禁用依赖代码提示 Alt+R, O 。

函数调用
在默认设置下,这种类型提示仅在多行链式成员函数调用后显示。

类型转换提示
类型转换提示有助于使隐藏的隐式转换可见,从而让您意识到潜在的性能和正确性影响。
ReSharper 显示了不同类型的类类型转换提示,包括对象复制、使用转换构造函数或聚合初始化的对象初始化,以及调用转换运算符。

您还可以启用内置类型之间标准转换的提示,例如可能导致精度丢失或更改类型符号的数值类型之间的转换。

提示有 细粒度的配置选项。