C++ 中的代码模板
所有 ReSharper 的代码模板功能也支持 C++。 您可以在 代码模板 部分的相应主题中找到有关这些功能的详细信息。
实时模板
实时/环绕模板 可用于 在现有文件中生成代码 ,并且(如果模板正文中有 $SELECTION$ 参数 )可用于 用模板代码环绕代码片段 ,例如 try...catch 语句。
每个实时模板都由一个 快捷键 标识——一个简短的字符串,例如 foreach ,您可以直接在编辑器中键入它以调用模板。
ReSharper 提供了许多 预定义的动态模板。 您还可以在专用的 编辑器中或直接从 现有源代码创建 自定义动态模板。
文件模板
文件模板 用于创建一个或多个具有预定义代码的新文件,例如类型声明、单元测试等。 文件模板没有快捷方式,它们通过描述来标识。 有关更多信息,请参阅 从模板创建文件 和 创建多文件模板。
应用模板时,文件模板可以创建多个文件。 当相关数据保存在不同文件中时,这可能会很有帮助。
类、结构体、源文件和头文件都有 预定义模板。 您还可以创建新的 文件 和 多文件 模板。

后缀模板
后缀模板帮助您转换已输入的表达式,而无需向后跳转——只需在表达式后输入一个点,然后从 完成列表中选择一个模板。
以下是 C++ 中可用的 后缀模板 列表。
快捷键 | 注释 | 示例 |
|---|---|---|
生成范围的迭代器 | 生成范围的迭代器 |
|
用 UE 类型转换包裹表达式 | 用 UE 类型转换包裹表达式 |
|
生成范围的迭代器 | 生成范围的迭代器 |
|
将表达式作为参数传递给 co_await | 将表达式作为参数传递给 co_await |
|
从当前协程返回表达式 | 从当前协程返回表达式 |
|
将表达式作为参数传递给 co_yield | 将表达式作为参数传递给 co_yield |
|
用 const_cast 包裹表达式 | 用 const_cast 包裹表达式 |
|
迭代直到布尔表达式变为 'false' | 迭代直到布尔表达式为 'false' |
|
用 dynamic_cast 包裹表达式 | 用 dynamic_cast 包裹表达式 |
|
检查布尔表达式是否为 'false' | 检查布尔表达式是否为 'false' |
|
遍历 | 遍历范围 |
|
转发 | 转发函数参数 |
|
.if | 检查布尔表达式是否为 'true' |
|
构造对象并将其包装在 std::shared_ptr 中 | 构造对象并将其包装在 std::shared_ptr 中 |
|
构造对象并将其包装在 std::unique_ptr 中 | 构造对象并将其包装在 std::unique_ptr 中 |
|
.new | 生成类型的实例化表达式 |
|
用 reinterpret_cast 包裹表达式 | 用 reinterpret_cast 包裹表达式 |
|
返回 | 从当前函数返回表达式 |
|
用 safe_cast 包裹表达式 | 用 safe_cast 包裹表达式(C++/CLI) |
|
用 static_cast 包裹表达式 | 用 static_cast 包裹表达式 |
|
生成 switch 语句 | 生成针对整数/枚举类型的 switch 语句 |
|
为表达式引入变量 | 为表达式引入变量 |
|
.while | 当布尔表达式为 'true' 时迭代 |
|