JetBrains Rider 2025.1 Help

预定义的 C# 代码模板

本主题列出了 JetBrains Rider 2025.1 中所有预定义的 C# 代码模板。 有关代码模板的更多信息,请参阅 使用实时模板创建源代码

模板

详情

assetmenu

Unity CreateAssetMenu 特性

作用域 C# 2.0+ 类型和命名空间,Unity C# 文件

主体

[UnityEngine.CreateAssetMenu(fileName = $FILENAME$, menuName = $MENUNAME$, order = $ORDER$)]

参数

  • FILENAME - 在变量评估点显示基本代码补全列表

  • MENUNAME - 在变量被评估的位置显示基本代码补全列表

  • ORDER - 在变量评估点显示基本代码补全列表

logwarn

Unity 日志警告

作用域 C# 2.0+ 语句,Unity C# 文件

主体

UnityEngine.Debug.LogWarning($VAR$);

参数

  • 变量 - 在变量评估点显示基本代码补全列表

baker

DOTS Baker

作用域 C# 2.0+ 类型成员,C# 2.0+ 类型和命名空间,Unity C# 文件,Unity DOTS 项目

主体

private class $BAKERNAME$ : Unity.Entities.Baker<$AUTHORINGTYPE$> { public override void Bake($AUTHORINGTYPE$ authoring) { } }

参数

  • AUTHORINGTYPE - 当前父 Unity 类型名称

  • BAKERNAME - 基于父 Unity 类型名称生成 Baker 名称

logex

Unity 日志异常

作用域 C# 2.0+ 语句,Unity C# 文件

主体

UnityEngine.Debug.LogException($VAR$);

参数

  • 变量 - 在变量评估点显示基本代码补全列表

componentdata

DOTS IComponentData

作用域 C# 2.0+ 类型成员,C# 2.0+ 类型和命名空间,Unity DOTS 项目

主体

public struct $COMPONENTNAME$ : Unity.Entities.IComponentData { $END$ }

参数

  • COMPONENTNAME - 无宏

  • END - 应用模板后光标的位置。

menuitem

Unity 菜单条目处理程序

作用域 C# 2.0+ 类型成员,Unity C# 文件

主体

[UnityEditor.MenuItem($MENUNAME$)] public static void $NAME$() { $END$ }

参数

  • MENUNAME - 在变量评估点显示基本代码补全列表

  • NAME - 在变量评估点显示基本代码补全列表

  • END - 应用模板后光标的位置。

sfield

Unity 序列化字段

作用域 C# 2.0+ 类型成员,Unity 可序列化类型成员

主体

[UnityEngine.SerializeField] private $TYPE$ $NAME$;$END$

参数

  • TYPE - 无宏

  • NAME - 在变量声明中执行(变量名应在此处),建议变量名

  • END - 应用模板后光标的位置。

logerr

Unity 日志错误

作用域 C# 2.0+ 语句,Unity C# 文件

主体

UnityEngine.Debug.LogError($VAR$);

参数

  • 变量 - 在变量评估点显示基本代码补全列表

日志

Unity 日志对象/消息

作用域 C# 2.0+ 语句,Unity C# 文件

主体

UnityEngine.Debug.Log($VAR$);

参数

  • 变量 - 在变量评估点显示基本代码补全列表

reqcomp

Unity RequireComponent 特性

作用域 C# 2.0+ 类型和命名空间,Unity C# 文件

主体

[UnityEngine.RequireComponent(typeof($TYPE$))]

参数

  • TYPE - 在变量评估点显示基本代码补全列表

sprop

具有序列化支持字段的 Unity 属性

作用域 C# 2.0+ 类型成员,Unity 可序列化类型成员

主体

[UnityEngine.SerializeField] private $type$ $fieldName$; public $type$ $propertyName$ { get { return this.$fieldName$; } }$END$

参数

  • 类型 - 无宏

  • propertyName - 在变量声明中执行时(变量名称应在此处),建议一个变量名称

  • fieldName - 将字符串值首字母小写(即更改第一个字母的大小写为小写)

  • END - 应用模板后光标的位置。

jobentity

DOTS IJob Entity

作用域 C# 2.0+ 类型成员,C# 2.0+ 类型和命名空间,Unity DOTS 项目

主体

[Unity.Burst.BurstCompile] public partial struct $JOBNAME$Job : Unity.Entities.IJobEntity { public void Execute($END$) { } }

参数

  • JOBNAME - 解析为当前文件名(不含扩展名),并将所有非字母数字字符替换为下划线

  • END - 应用模板后光标的位置。

cor

Unity 协程方法

作用域 C# 2.0+ 类型成员,Unity C# 文件

主体

private System.Collections.IEnumerator $NAME$() { $END$yield break; }

参数

  • NAME - 无宏

  • END - 应用模板后光标的位置。

logvar

Unity 日志变量

作用域 C# 2.0+ 语句,Unity C# 文件

主体

UnityEngine.Debug.Log("$VAR$ = " + $VAR$);

参数

  • 变量 - 在变量评估点显示基本代码补全列表

上下文

当前文件上下文

作用域 全局

主体

$CTX$

参数

  • CTX - 提供描述当前上下文的项目列表。 包括文件名、包含的类型名称、命名空间名称等。

此模板可能有用:

  • 在包含对当前上下文引用的字符串文字中,即 Logger.LogError("Cannot find action ActionNameDerivedFromContext");

  • 作为代码补全不起作用时的替代方法,例如在注释中记录具有长名称的成员时。

nguid

插入新 GUID

作用域 全局

主体

$GUID$

参数

  • GUID - 生成一个新的全局唯一标识符 (GUID)

结合

语言集成查询中的 Join 子句

作用域 C# 2.0+ 查询

主体

join $NAME$ in $COL$ on $EXPR1$ equals $EXPR2$ $END$

参数

  • COL - 在变量评估点显示基本代码补全列表

  • NAME - 在变量声明中执行时(变量名称应在此处),建议一个变量名称

  • EXPR1 - 无宏

  • EXPR2 - 无宏

  • END - 应用模板后光标的位置。

语言集成查询

作用域 C# 3.0+ 表达式,C# 3.0+ 查询

主体

from $VAR$ in $COLLECTION$ $END$

参数

  • 集合 - 在变量评估点显示基本代码补全列表

  • 变量 - 在变量声明中执行(变量名应在此处),建议变量名

  • END - 应用模板后光标的位置。

foreach

foreach 块

作用域 C# 2.0+ 语句

主体

foreach ($TYPE$ $VARIABLE$ in $COLLECTION$) { $SELECTION$$END$ }

参数

  • 集合 - 在变量评估点显示基本代码补全列表

  • TYPE - 为模板中声明的新变量建议类型

  • 变量 - 在变量声明中执行时(变量名称应在此处),建议一个变量名称

  • SELECTION - 用户在调用模板之前选择的文本。

  • END - 应用模板后光标的位置。

在指定参数后,光标会定位到循环体中,方便您继续编写代码。

itli

迭代 IList<T>

作用域 C# 2.0+ 语句

主体

for (int $INDEX$ = 0; $INDEX$ < $LIST$.Count; $INDEX$++) { $TYPE$ $ITEM$ = $LIST$[$INDEX$]; $END$ }

参数

  • INDEX - 在评估点建议一个唯一的索引变量名称

  • LIST - 在变量评估点显示基本代码补全列表

  • TYPE - 为模板中声明的新变量建议一个类型

  • ITEM - 在变量声明中执行时(变量名称应在此处),建议一个变量名称

  • END - 应用模板后光标的位置。

模板生成一个 for 循环,用于迭代 System.Collections.IList 的实例。 在循环体中包含一个可自定义的语句,变量持有容器元素。

在指定参数后,光标会定位到循环体中,方便您继续编写代码。

itar

迭代数组

作用域 C# 2.0+ 语句

主体

for (int $INDEX$ = 0; $INDEX$ < $ARRAY$.Length; $INDEX$++) { $TYPE$ $VAR$ = $ARRAY$[$INDEX$]; $END$ }

参数

  • INDEX - 在评估点建议一个唯一的索引变量名称

  • 数组 - 建议一个类型为数组的变量

  • TYPE - 为模板中声明的新变量建议一个类型

  • 变量 - 在变量声明中执行时(变量名称应在此处),建议一个变量名称

  • END - 应用模板后光标的位置。

在指定参数后,光标会定位到循环体中,方便您继续编写代码。

ritar

以相反顺序迭代数组

作用域 C# 2.0+ 语句

主体

for (int $INDEX$ = $ARRAY$.Length - 1; $INDEX$ >= 0; $INDEX$--) { $TYPE$ $VAR$ = $ARRAY$[$INDEX$]; $END$ }

参数

  • INDEX - 在评估点建议一个唯一的索引变量名

  • 数组 - 建议一个类型为数组类型的变量

  • TYPE - 为模板中声明的新变量建议一个类型

  • VAR - 在变量声明中执行时(变量名称应在此处),建议一个变量名称

  • END - 应用模板后光标的位置。

模板生成一个 for 循环,用于以 逆序 迭代数组。 在循环体中包含一个可自定义的语句,变量持有容器元素。

在指定参数后,光标会定位到循环体中,方便您继续编写代码。

for

简单 "for" 循环

作用域 C# 2.0+ 语句

主体

for (int $INDEX$ = 0; $INDEX$ < $UPPER$; $INDEX$++) { $SELECTION$$END$ }

参数

  • INDEX - 在评估点建议一个唯一的索引变量名称

  • UPPER - 无宏

  • 选择 - 用户在调用模板之前选择的文本。

  • END - 应用模板后光标的位置。

在指定参数后,光标会定位到循环体中,方便您继续编写代码。

sfc

安全地转换变量

作用域 C# 2.0+ 语句

主体

$VARTYPE$ $VAR$ = $VAR1$ as $TYPE$; if ($VAR$ != null) { $END$ }

参数

  • VAR1 - 在变量评估点显示基本代码补全列表

  • TYPE - 无宏

  • VARTYPE - 为模板中声明的新变量建议类型

  • 变量 - 在变量声明中执行(变量名应在此处),建议变量名

  • END - 应用模板后光标的位置。

psvm

"Main" 方法声明

作用域 C# 2.0+ 类型成员

主体

public static void Main( string[] args ) { $END$ }

参数

  • END - 应用模板后光标的位置。

outv

打印变量的值

作用域 C# 2.0+ 语句

主体

System.Console.Out.WriteLine("$EXPR$ = {0}", $EXPR$);

参数

  • EXPR - 在变量评估点显示基本代码补全列表

JetBrains Rider 会自动建议当前作用域中的所有变量列表,并选择最近声明的变量。 描述性文本字符串会自动与所选变量的名称同步。

打印字符串

作用域 C# 2.0+ 语句

主体

System.Console.Out.WriteLine("$END$");

参数

  • END - 应用模板后光标的位置。

asrt

创建断言

作用域 C# 2.0+ 语句

主体

System.Diagnostics.Debug.Assert($END$);

参数

  • END - 应用模板后光标的位置。

此模板调用 Debug.Assert 方法。 模板展开后,光标会移动到括号之间,方便您指定条件。

asrtn

断言表达式非 null

作用域 C# 2.0+ 语句

主体

System.Diagnostics.Debug.Assert($EXPR$ != null, "$MESSAGE$");

参数

  • EXPR - 无宏

  • MESSAGE - 无宏

模板插入 Debug.Assert 方法,该方法检查条件并在条件为假时显示消息。

thr

throw new

作用域 C# 2.0+ 语句

主体

throw new

    pci

    public const int

    作用域 C# 2.0+ 类型成员

    主体

    public const int

      pcs

      public const string

      作用域 C# 2.0+ 类型成员

      主体

      public const string

        psr

        public static readonly

        作用域 C# 2.0+ 类型成员

        主体

        public static readonly

          prop

          属性

          作用域 C# 2.0+ 类型成员

          主体

          public $TYPE$ $NAME$ { get; set; }

          参数

          • TYPE - 无宏

          • NAME - 在变量声明中执行时(变量名称应在此处),建议一个变量名称

          ear

          创建空数组

          作用域 C# 2.0+ 语句

          主体

          $TYPE$[] $NAME$ = new $TYPE$[] {};

          参数

          • TYPE - 无宏

          • NAME - 在变量声明中执行(变量名应在此处),建议变量名

          #if

          作用域 C# 2.0+ 除字符串外,行首

          主体

          #if $expression$ $SELECTION$$END$ #endif

          参数

          • 表达式 - 评估为指定的常量值

          • 选择 - 用户在调用模板之前选择的文本。

          • END - 应用模板后光标的位置。

          #区域

          作用域 C# 2.0+ 除字符串外,行首

          主体

          #region $name$ $SELECTION$$END$ #endregion

          参数

          • 名称 - 评估为指定的常量值

          • SELECTION - 用户在调用模板之前选择的文本。

          • END - 应用模板后光标的位置。

          enum

          作用域 C# 2.0+ 类型成员,C# 2.0+ 类型和命名空间

          主体

          enum $name$ { $END$ }

          参数

          • 名称 - 评估为指定的常量值

          • END - 应用模板后光标的位置。

          else

          else 语句

          作用域 C# 2.0+ 语句

          主体

          else { $END$ }

          参数

          • END - 应用模板后光标的位置。

          ~

          析构函数

          作用域 C# 2.0+ 类型成员

          主体

          ~$classname$() { $END$ }

          参数

          • classname - 评估为最内层包含类型的短名称

          • END - 应用模板后光标的位置。

          ctor

          构造函数

          作用域 C# 2.0+ 类型成员

          主体

          public $classname$ () { $END$ }

          参数

          • classname - 评估为最内层包含类型的短名称

          • END - 应用模板后光标的位置。

          cw

          Console.WriteLine

          作用域 C# 2.0+ 语句

          主体

          System.Console.WriteLine($END$);

          参数

          • END - 应用模板后光标的位置。

          class

          作用域 C# 2.0+ 类型成员,C# 2.0+ 类型和命名空间

          主体

          class $name$ { $END$ }

          参数

          • 名称 - 评估为指定的常量值

          • END - 应用模板后光标的位置。

          异常

          作用域 C# 2.0+ 类型成员,C# 2.0+ 类型和命名空间

          主体

          public class $newException$Exception : System.Exception { public $newException$Exception() { } public $newException$Exception( string message ) : base( message ) { } public $newException$Exception( string message, System.Exception inner ) : base( message, inner ) { } }

          参数

          • newException - 评估为指定的常量值

          结构体

          作用域 C# 2.0+ 类型成员,C# 2.0+ 类型和命名空间

          主体

          struct $name$ { $END$ }

          参数

          • 名称 - 评估为指定的常量值

          • END - 应用模板后光标的位置。

          forr

          反转 'for' 循环

          作用域 C# 2.0+ 语句

          主体

          for (int $index$ = $max$ - 1; $index$ >= 0 ; $index$--) { $END$ }

          参数

          • 索引 - 评估为指定的常量值

          • max - 评估为指定的常量值

          • END - 应用模板后光标的位置。

          命名空间

          作用域 C# 2.0+ 类型和命名空间

          主体

          namespace $name$ { $END$$SELECTION$ }

          参数

          • 名称 - 评估为指定的常量值

          • SELECTION - 用户在调用模板之前选择的文本。

          • END - 应用模板后光标的位置。

          interface

          作用域 C# 2.0+ 类型成员,C# 2.0+ 类型和命名空间

          主体

          interface I$name$ { $END$ }

          参数

          • 名称 - 评估为指定的常量值

          • END - 应用模板后光标的位置。

          sim

          'int Main' 方法

          作用域 C# 2.0+ 类型成员

          主体

          static int Main(string[] args) { $END$ return 0; }

          参数

          • END - 应用模板后光标的位置。

          索引器

          作用域 C# 2.0+ 类型成员

          主体

          $access$ $type$ this[$indextype$ index] { get {$END$ /* return the specified index here */ } set { /* set the specified index to value here */ } }

          参数

          • 权限 - 评估为指定的常量值

          • 类型 - 评估为指定的常量值

          • 索引类型 - 评估为指定的常量值

          • END - 应用模板后光标的位置。

          svm

          'void Main' 方法

          作用域 C# 2.0+ 类型成员

          主体

          static void Main(string[] args) { $END$ }

          参数

          • END - 应用模板后光标的位置。

          非安全

          unsafe 语句

          作用域 C# 2.0+ 语句

          主体

          unsafe { $END$ }

          参数

          • END - 应用模板后光标的位置。

          未选中

          unchecked 块

          作用域 C# 2.0+ 语句

          主体

          unchecked { $END$ }

          参数

          • END - 应用模板后光标的位置。

          tryf

          try finally

          作用域 C# 2.0+ 语句

          主体

          try { $SELECTION$ } finally { $END$ }

          参数

          • SELECTION - 用户在调用模板之前选择的文本。

          • END - 应用模板后光标的位置。

          try

          try catch

          作用域 C# 2.0+ 语句

          主体

          try { $SELECTION$ } catch ($EXCEPTION$ $EX_NAME$) { $SELSTART$System.Console.WriteLine($EX_NAME$); throw;$SELEND$ }

          参数

          • EXCEPTION - 评估为指定的常量值

          • EX_NAME - 在变量声明中执行时(变量名称应在此处),建议一个变量名称

          • SELECTION - 用户在调用模板之前选择的文本。

          switch

          switch 语句

          作用域 C# 2.0+ 语句

          主体

          switch ($expression$) { $END$ }

          参数

          • 表达式 - 在变量评估点显示基本代码补全列表

          • END - 应用模板后光标的位置。

          while

          while 循环

          作用域 C# 2.0+ 语句

          主体

          while ($expression$) { $SELECTION$$END$ }

          参数

          • 表达式 - 在变量评估点显示基本代码补全列表

          • SELECTION - 用户在调用模板之前选择的文本。

          • END - 应用模板后光标的位置。

          迭代器

          简单迭代器

          作用域 C# 2.0+ 类型成员

          主体

          public $SystemCollectionsGenericIEnumeratorG$<$type$> GetEnumerator() { $SELSTART$throw new System.NotImplementedException(); yield return default($type$); $SELEND$ }

          参数

          • 类型 - 评估为指定的常量值

          • SystemCollectionsGenericIEnumeratorG - 评估为指定的常量值

          propg

          具有 'get' 访问器和 private 'set' 访问器的属性

          作用域 C# 2.0+ 类型成员

          主体

          public $type$ $property$ { get; private set; }

          参数

          • 类型 - 评估为指定的常量值

          • 属性 - 在变量声明中执行时(变量名称应在此处),建议一个变量名称

          特性

          使用推荐模式的特性

          作用域 C# 2.0+ 类型成员,C# 2.0+ 类型和命名空间

          主体

          [System.AttributeUsage(System.AttributeTargets.$target$, Inherited = $inherited$, AllowMultiple = $allowmultiple$)] sealed class $name$Attribute : System.Attribute { // See the attribute guidelines at // http://go.microsoft.com/fwlink/?LinkId=85236 public $name$Attribute () { $SELSTART$// TODO: Implement code here throw new System.NotImplementedException();$SELEND$ } }

          参数

          • 名称 - 评估为指定的常量值

          • 目标 - 评估为指定的常量值

          • 继承 - 评估为指定的常量值

          • allowmultiple - 评估为指定的常量值

          do

          do...while 循环

          作用域 C# 2.0+ 语句

          主体

          do { $SELECTION$$END$ } while ($expression$);

          参数

          • 表达式 - 在变量评估点显示基本代码补全列表

          • SELECTION - 用户在调用模板之前选择的文本。

          • END - 应用模板后光标的位置。

          选中

          checked 块

          作用域 C# 2.0+ 语句

          主体

          checked { $END$ }

          参数

          • END - 应用模板后光标的位置。

          if

          if 语句

          作用域 C# 2.0+ 语句

          主体

          if ($expr$) { $SELECTION$$END$ }

          参数

          • expr - 在变量评估点显示基本代码补全列表

          • 选择 - 用户在调用模板之前选择的文本。

          • END - 应用模板后光标的位置。

          锁定

          lock 语句

          作用域 C# 2.0+ 语句

          主体

          lock ($expression$) { $SELECTION$$END$ }

          参数

          • 表达式 - 在变量评估点显示基本代码补全列表

          • SELECTION - 用户在调用模板之前选择的文本。

          • END - 应用模板后光标的位置。

          mbox

          MessageBox.Show

          作用域 C# 2.0+ 语句

          主体

          System.Windows.Forms.MessageBox.Show("$string$");

          参数

          • 字符串 - 评估为指定的常量值

          示意图

          using 语句

          作用域 C# 2.0+ 语句

          主体

          using($resource$) { $SELECTION$$END$ }

          参数

          • 资源 - 在变量评估点显示基本代码补全列表

          • SELECTION - 用户在调用模板之前选择的文本。

          • END - 应用模板后光标的位置。

          hal

          ASP.NET MVC Html.ActionLink

          作用域 C# 2.0+ 表达式

          主体

          Html.ActionLink("$TEXT$", "$ACTION$", "$CONTROLLER$")

          参数

          • CONTROLLER - 在变量被评估的点显示可用的 ASP.NET MVC 控制器的补全列表

          • ACTION - 在变量被评估的点显示可用的 ASP.NET MVC 操作的补全列表

          • TEXT - 无宏

          ua

          ASP.NET MVC Url.Action

          作用域 C# 2.0+ 表达式

          主体

          Url.Action("$ACTION$", "$CONTROLLER$")

          参数

          • CONTROLLER - 在变量被评估的点显示可用的 ASP.NET MVC 控制器的补全列表

          • ACTION - 在变量被评估的点显示可用的 ASP.NET MVC 操作的补全列表

          rta

          ASP.NET 控制器 RedirectToAction

          作用域 C# 2.0+ 表达式

          主体

          RedirectToAction("$ACTION$", "$CONTROLLER$")

          参数

          • CONTROLLER - 在变量被评估的点显示可用的 ASP.NET MVC 控制器的补全列表

          • ACTION - 在变量被评估的点显示可用的 ASP.NET MVC 操作的补全列表

          attachedProperty

          附加的属性

          作用域 C# 2.0+ 类型成员

          主体

          public static readonly $dependencyProperty$ $propertyName$Property = $dependencyProperty$.RegisterAttached( "$propertyName$", typeof($propertyType$), typeof($containingType$), new PropertyMetadata(default($propertyType$))); public static void Set$propertyName$(DependencyObject $element$, $propertyType$ value) { $element$.SetValue($propertyName$Property, value); } public static $propertyType$ Get$propertyName$(DependencyObject $element$) { return ($propertyType$) $element$.GetValue($propertyName$Property); }

          参数

          • propertyType - 无宏

          • propertyName - 在变量声明中执行(变量名应在此处),建议变量名

          • containingType - 评估为最内层包含类型的短名称

          • 元素 - 无宏

          • dependencyProperty - 评估为当前框架特定的依赖属性类型

          模板创建一个附加属性,并包含所需的 get 和 set 方法。

          dependencyProperty

          依赖项属性

          作用域 C# 2.0+ 类型成员

          主体

          public static readonly $dependencyProperty$ $propertyName$Property = $dependencyProperty$.Register( $nameofProperty$, typeof($propertyType$), typeof($containingType$), new PropertyMetadata(default($propertyType$))); public $propertyType$ $propertyName$ { get { return ($propertyType$) GetValue($propertyName$Property); } set { SetValue($propertyName$Property, value); } }

          参数

          • propertyType - 无宏

          • propertyName - 在变量声明中执行时(变量名称应在此处),建议一个变量名称

          • containingType - 评估为最内层包含类型的短名称

          • dependencyProperty - 评估为当前框架特定的依赖属性类型

          • nameofProperty - 如果可能,评估为 'nameof(entity)',否则为 'entity'

          test

          作用域 C# 2.0+ 类型成员,MSTest 测试项目

          主体

          [Microsoft.VisualStudio.TestTools.UnitTesting.TestMethod] public void $METHOD$() {$END$}

          参数

          • METHOD - 无宏

          • END - 应用模板后光标的位置。

          最后修改日期: 2025年 6月 25日