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

后缀模板
后缀模板帮助您在不向后跳转的情况下转换已键入的表达式——只需在表达式后键入一个点,然后从 自动完成列表中选择一个模板。
以下是 C++ 中可用的 后缀模板 列表。
快捷方式 | 描述 | 示例 |
|---|---|---|
.beg..end | 从范围生成迭代器 |
|
.Cast | 用 UE 类型转换环绕表达式 |
|
.cbeg..cend | 从范围生成迭代器 |
|
.co_await | 将表达式作为参数传递给 co_await |
|
.co_return | 从当前协程返回表达式 |
|
.co_yield | 将表达式作为参数传递给 co_yield |
|
.const_cast | 用 const_cast 环绕表达式 |
|
.do | 迭代直到布尔表达式变为 'false' |
|
.dynamic_cast | 用 dynamic_cast 环绕表达式 |
|
.else | 检查布尔表达式是否为“false” |
|
.foreach | 遍历范围 |
|
.forward | 转发函数参数 |
|
.if | 检查布尔表达式是否为“true” |
|
.make_shared | 构造一个对象并将其包装在 std::shared_ptr 中 |
|
.make_unique | 构造一个对象并将其包装在 std::unique_ptr 中 |
|
.new | 生成类型的实例化表达式 |
|
.reinterpret_cast | 用 reinterpret_cast 环绕表达式 |
|
.return | 从当前函数返回表达式 |
|
.safe_cast | 用 safe_cast (C++/CLI) 环绕表达式 |
|
.static_cast | 用 static_cast 环绕表达式 |
|
.switch | 生成针对整型/枚举类型的 switch |
|
.var | 为表达式引入变量 |
|
.while | 在布尔表达式为 'true' 时迭代 |
|