Predefined Live Templates for C#
This topic lists all predefined live templates for C# in ReSharper 2019.1. For more information about live templates, see Creating Source Code Using Live Templates
Template | Details |
---|---|
ctx | Current file context Scope everywhere Body$CTX$ Parameters
This could be useful:
Expansion options |
nguid | Insert new GUID Scope everywhere Body$GUID$ Parameters
|
join | Join clause in language integrated query Scope C# 2.0+ queries Bodyjoin $NAME$ in $COL$ on $EXPR1$ equals $EXPR2$ $END$ Parameters
After expansion |
from | Language-Integrated Query Scope C# 3.0+ expressions, C# 3.0+ queries Bodyfrom $VAR$ in $COLLECTION$ $END$ Parameters
After expansion |
foreach | foreach block Scope C# 2.0+ statements Bodyforeach ($TYPE$ $VARIABLE$ in $COLLECTION$)
{
$SELECTION$$END$
} Parameters
After expansion After you specify the parameters, the caret is positioned so that you can continue coding the loop body. |
itli | Iterate a IList<T> Scope C# 2.0+ statements Bodyfor (int $INDEX$ = 0; $INDEX$ < $LIST$.Count; $INDEX$++)
{
$TYPE$ $ITEM$ = $LIST$[$INDEX$];
$END$
} Parameters
After expansion The template generates a After you specify the parameters, the caret is positioned so that you can continue coding the loop body. |
itar | Iterate an array Scope C# 2.0+ statements Bodyfor (int $INDEX$ = 0; $INDEX$ < $ARRAY$.Length; $INDEX$++)
{
$TYPE$ $VAR$ = $ARRAY$[$INDEX$];
$END$
} Parameters
After expansion After you specify the parameters, the caret is positioned so that you can continue coding the loop body. |
ritar | Iterate an array in inverse order Scope C# 2.0+ statements Bodyfor (int $INDEX$ = $ARRAY$.Length - 1; $INDEX$ >= 0; $INDEX$--)
{
$TYPE$ $VAR$ = $ARRAY$[$INDEX$];
$END$
} Parameters
After expansion The template generates a After you specify the parameters, the caret is positioned so that you can continue coding the loop body. |
for | Simple "for" loop Scope C# 2.0+ statements Bodyfor (int $INDEX$ = 0; $INDEX$ < $UPPER$; $INDEX$++)
{
$SELECTION$$END$
} Parameters
After expansion After you specify the parameters, the caret is positioned so that you can continue coding the loop body. |
sfc | Safely cast variable Scope C# 2.0+ statements Body$VARTYPE$ $VAR$ = $VAR1$ as $TYPE$;
if ($VAR$ != null)
{
$END$
} Parameters
After expansion |
psvm | The "Main" method declaration Scope C# 2.0+ type members Bodypublic static void Main( string[] args )
{
$END$
} Parameters
After expansion |
outv | Print value of a variable Scope C# 2.0+ statements BodySystem.Console.Out.WriteLine("$EXPR$ = {0}", $EXPR$); Parameters
After expansion ReSharper automatically suggests a list of all variables in the current scope and, by default, selects the most recently declared one. The descriptive text string ( |
out | Print a string Scope C# 2.0+ statements BodySystem.Console.Out.WriteLine("$END$"); Parameters
After expansion |
asrt | Make an assertion Scope C# 2.0+ statements BodySystem.Diagnostics.Debug.Assert($END$); Parameters
After expansion This template calls the |
asrtn | Assert expression not null Scope C# 2.0+ statements BodySystem.Diagnostics.Debug.Assert($EXPR$ != null, "$MESSAGE$"); Parameters
After expansion The template inserts the |
thr | throw new Scope C# 2.0+ statements Bodythrow new After expansion |
pci | public const int Scope C# 2.0+ type members Bodypublic const int After expansion |
pcs | public const string Scope C# 2.0+ type members Bodypublic const string After expansion |
psr | public static readonly Scope C# 2.0+ type members Bodypublic static readonly After expansion |
prop | Property Scope C# 2.0+ type members Bodypublic $TYPE$ $NAME$ { get; set; } Parameters
After expansion |
ear | Create an empty array Scope C# 2.0+ statements Body$TYPE$[] $NAME$ = new $TYPE$[] {}; Parameters
After expansion |
| Scope C# 2.0+ except strings, at line start Body#if $expression$
$SELECTION$$END$
#endif Parameters
|
| Scope C# 2.0+ except strings, at line start Body#region $name$
$SELECTION$$END$
#endregion Parameters
|
| Scope C# 2.0+ type members, C# 2.0+ types and namespaces Bodyenum $name$
{
$END$
} Parameters
|
| else statement Scope C# 2.0+ statements Bodyelse
{
$END$
} Parameters
|
| Destructor Scope C# 2.0+ type members Body~$classname$()
{
$END$
} Parameters
|
| Constructor Scope C# 2.0+ type members Bodypublic $classname$ ()
{
$END$
} Parameters
|
| Console.WriteLine Scope C# 2.0+ statements BodySystem.Console.WriteLine($END$); Parameters
|
| Scope C# 2.0+ type members, C# 2.0+ types and namespaces Bodyclass $name$
{
$END$
} Parameters
|
| Scope C# 2.0+ type members, C# 2.0+ types and namespaces Body[System.Serializable]
public class $newException$Exception : System.Exception
{
//
// For guidelines regarding the creation of new exception types, see
// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpgenref/html/cpconerrorraisinghandlingguidelines.asp
// and
// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dncscol/html/csharp07192001.asp
//
public $newException$Exception() { }
public $newException$Exception( string message ) : base( message ) { }
public $newException$Exception( string message, System.Exception inner ) : base( message, inner ) { }
protected $newException$Exception(
System.Runtime.Serialization.SerializationInfo info,
System.Runtime.Serialization.StreamingContext context ) : base( info, context ) { }
} Parameters
|
| Scope C# 2.0+ type members, C# 2.0+ types and namespaces Bodystruct $name$
{
$END$
} Parameters
|
| Reverse 'for' loop Scope C# 2.0+ statements Bodyfor (int $index$ = $max$ - 1; $index$ >= 0 ; $index$--)
{
$END$
} Parameters |
| Scope C# 2.0+ types and namespaces Bodynamespace $name$
{
$END$$SELECTION$
} Parameters
|
| Scope C# 2.0+ type members, C# 2.0+ types and namespaces Bodyinterface I$name$
{
$END$
} Parameters
|
| 'int Main' method Scope C# 2.0+ type members Bodystatic int Main(string[] args)
{
$END$
return 0;
} Parameters
|
| Scope C# 2.0+ type members Body$access$ $type$ this[$indextype$ index]
{
get {$END$ /* return the specified index here */ }
set { /* set the specified index to value here */ }
} Parameters |
| 'void Main' method Scope C# 2.0+ type members Bodystatic void Main(string[] args)
{
$END$
} Parameters
|
| unsafe statement Scope C# 2.0+ statements Bodyunsafe
{
$END$
} Parameters
|
| unchecked block Scope C# 2.0+ statements Bodyunchecked
{
$END$
} Parameters
|
| try finally Scope C# 2.0+ statements Bodytry
{
$SELECTION$
}
finally
{
$END$
} Parameters
|
| try catch Scope C# 2.0+ statements Bodytry
{
$SELECTION$
}
catch ($EXCEPTION$ $EX_NAME$)
{
$SELSTART$System.Console.WriteLine($EX_NAME$);
throw;$SELEND$
} Parameters
|
| switch statement Scope C# 2.0+ statements Bodyswitch ($expression$)
{
$END$
} Parameters
|
| while loop Scope C# 2.0+ statements Bodywhile ($expression$)
{
$SELECTION$$END$
} Parameters
|
| simple iterator Scope C# 2.0+ type members Bodypublic $SystemCollectionsGenericIEnumeratorG$<$type$> GetEnumerator()
{
$SELSTART$throw new System.NotImplementedException();
yield return default($type$);
$SELEND$
} Parameters |
| Property with a 'get' accessor and a private 'set' accessor Scope C# 2.0+ type members Bodypublic $type$ $property$ { get; private set; } Parameters
|
| Attribute using recommended pattern Scope C# 2.0+ type members, C# 2.0+ types and namespaces Body[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$
}
} Parameters |
| do...while loop Scope C# 2.0+ statements Bodydo
{
$SELECTION$$END$
} while ($expression$); Parameters
|
| checked block Scope C# 2.0+ statements Bodychecked
{
$END$
} Parameters
|
| if statement Scope C# 2.0+ statements Bodyif ($expr$)
{
$SELECTION$$END$
} Parameters
|
| lock statement Scope C# 2.0+ statements Bodylock ($expression$)
{
$SELECTION$$END$
} Parameters
|
| MessageBox.Show Scope C# 2.0+ statements BodySystem.Windows.Forms.MessageBox.Show("$string$"); Parameters
|
| using statement Scope C# 2.0+ statements Bodyusing($resource$)
{
$SELECTION$$END$
} Parameters
|
hal | ASP.NET MVC Html.ActionLink Scope C# 2.0+ expressions BodyHtml.ActionLink("$TEXT$", "$ACTION$", "$CONTROLLER$") Parameters
After expansion |
ua | ASP.NET MVC Url.Action Scope C# 2.0+ expressions BodyUrl.Action("$ACTION$", "$CONTROLLER$") Parameters
After expansion |
rta | ASP.NET Controller RedirectToAction Scope C# 2.0+ expressions BodyRedirectToAction("$ACTION$", "$CONTROLLER$") Parameters
After expansion |
attachedProperty | Attached property Scope C# 2.0+ type members Bodypublic 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);
} Parameters
The template creates an attached property with required get and set procedures. |
dependencyProperty | Dependency property Scope C# 2.0+ type members Bodypublic static readonly $dependencyProperty$ $propertyName$Property = $dependencyProperty$.Register(
"$propertyName$", typeof($propertyType$), typeof($containingType$), new PropertyMetadata(default($propertyType$)));
public $propertyType$ $propertyName$
{
get { return ($propertyType$) GetValue($propertyName$Property); }
set { SetValue($propertyName$Property, value); }
} Parameters
|
test | Scope C# 2.0+ type members, References nunit.framework|nunit Body[Test]
public void $METHOD$()
{$END$} Parameters
|