ReSharper 2025.2 Help

C++ 中的代码模板

所有 ReSharper 的代码模板功能也支持 C++。 您可以在 代码模板 部分的相应主题中找到关于这些功能的详细信息。

实时模板

动态/环绕模板 可用于 在现有文件中生成代码 ,并且(如果模板正文中有 $SELECTION$ 参数 )可用于 用模板代码环绕代码片段 ,例如 try...catch 语句。

每个动态模板通过一个 快捷方式 标识——一个简短的字符字符串,例如 foreach——您可以直接在编辑器中键入以调用模板。

ReSharper 提供了许多 预定义的动态模板。 您还可以在专用的 编辑器中或直接从 现有源代码创建 自定义动态模板

文件模板

文件模板 用于创建一个或多个带有预定义代码的新文件,例如类型声明、单元测试等。 文件模板没有快捷方式,它们通过其描述进行标识。 有关更多信息,请参阅 从模板创建文件创建多文件模板

应用模板时,一个文件模板可以创建多个文件。 当相关数据保存在不同文件中时,这可能会很有帮助。

类、结构体、源文件和头文件都有 预定义模板。 您还可以创建新的 文件多文件 模板。

ReSharper C++:文件模板

后缀模板

后缀模板帮助您在不向后跳转的情况下转换已键入的表达式——只需在表达式后键入一个点,然后从 自动完成列表中选择一个模板。

以下是 C++ 中可用的 后缀模板 列表。

快捷方式

描述

示例

.beg..end

从范围生成迭代器

sort(range.begin()、range.end())

.Cast

用 UE 类型转换环绕表达式

Cast<SomeType>(表达式)

.cbeg..cend

从范围生成迭代器

is_sorted(range.cbegin()、range.cend())

.co_await

将表达式作为参数传递给 co_await

co_await 表达式

.co_return

从当前协程返回表达式

co_return 表达式;

.co_yield

将表达式作为参数传递给 co_yield

co_yield 表达式

.const_cast

用 const_cast 环绕表达式

const_cast<SomeType &>(表达式)

.do

迭代直到布尔表达式变为 'false'

do { } while (表达式);

.dynamic_cast

用 dynamic_cast 环绕表达式

dynamic_cast<SomeType &>(表达式)

.else

检查布尔表达式是否为“false”

if (!表达式)

.foreach

遍历范围

for (auto && x : range)

.forward

转发函数参数

std::forward<Arg>(arg)

.if

检查布尔表达式是否为“true”

if (表达式)

.make_shared

构造一个对象并将其包装在 std::shared_ptr 中

std::make_shared<SomeType>()

.make_unique

构造一个对象并将其包装在 std::unique_ptr 中

std::make_unique<SomeType>()

.new

生成类型的实例化表达式

new SomeType()

.reinterpret_cast

用 reinterpret_cast 环绕表达式

reinterpret_cast<SomeType &>(表达式)

.return

从当前函数返回表达式

return 表达式;

.safe_cast

用 safe_cast (C++/CLI) 环绕表达式

safe_cast<SomeType>(表达式)

.static_cast

用 static_cast 环绕表达式

static_cast<SomeType>(表达式)

.switch

生成针对整型/枚举类型的 switch

switch (表达式)

.var

为表达式引入变量

auto x = 表达式;

.while

在布尔表达式为 'true' 时迭代

while (表达式)

最后修改日期: 2025年 9月 27日