Predefined Live Templates for C#
This topic lists all predefined live templates for C# in ReSharper 2021.1. For more information about live templates, see Create Source Code Using Live Templates
Template | Details |
---|---|
ctx | Current file context Scope everywhere Body $CTX$ Parameters
This could be useful:
Before expansion Expansion options |
nguid | Insert new GUID Scope everywhere Body $GUID$ Parameters
|
join | Join clause in language integrated query Scope C# 2.0+ queries Body join $NAME$ in $COL$ on $EXPR1$ equals $EXPR2$ $END$ Parameters
Before expansion After expansion |
from | Language-Integrated Query Scope C# 3.0+ expressions, C# 3.0+ queries Body from $VAR$ in $COLLECTION$ $END$ Parameters
Before expansion After expansion |
foreach | foreach block Scope C# 2.0+ statements Body foreach ($TYPE$ $VARIABLE$ in $COLLECTION$)
{
$SELECTION$$END$
} Parameters
Before expansion 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 Body for (int $INDEX$ = 0; $INDEX$ < $LIST$.Count; $INDEX$++)
{
$TYPE$ $ITEM$ = $LIST$[$INDEX$];
$END$
} Parameters
Before expansion 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 Body for (int $INDEX$ = 0; $INDEX$ < $ARRAY$.Length; $INDEX$++)
{
$TYPE$ $VAR$ = $ARRAY$[$INDEX$];
$END$
} Parameters
Before expansion 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 Body for (int $INDEX$ = $ARRAY$.Length - 1; $INDEX$ >= 0; $INDEX$--)
{
$TYPE$ $VAR$ = $ARRAY$[$INDEX$];
$END$
} Parameters
Before expansion 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 Body for (int $INDEX$ = 0; $INDEX$ < $UPPER$; $INDEX$++)
{
$SELECTION$$END$
} Parameters
Before expansion 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
Before expansion After expansion |
psvm | The "Main" method declaration Scope C# 2.0+ type members Body public static void Main( string[] args )
{
$END$
} Parameters
Before expansion After expansion |
outv | Print value of a variable Scope C# 2.0+ statements Body System.Console.Out.WriteLine("$EXPR$ = {0}", $EXPR$); Parameters
Before expansion 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 Body System.Console.Out.WriteLine("$END$"); Parameters
Before expansion After expansion |
asrt | Make an assertion Scope C# 2.0+ statements Body System.Diagnostics.Debug.Assert($END$); Parameters
Before expansion After expansion This template calls the |
asrtn | Assert expression not null Scope C# 2.0+ statements Body System.Diagnostics.Debug.Assert($EXPR$ != null, "$MESSAGE$"); Parameters
Before expansion After expansion The template inserts the |
thr | throw new Scope C# 2.0+ statements Body throw new Before expansion After expansion |
pci | public const int Scope C# 2.0+ type members Body public const int Before expansion After expansion |
pcs | public const string Scope C# 2.0+ type members Body public const string Before expansion After expansion |
psr | public static readonly Scope C# 2.0+ type members Body public static readonly Before expansion After expansion |
prop | Property Scope C# 2.0+ type members Body public $TYPE$ $NAME$ { get; set; } Parameters
Before expansion After expansion |
ear | Create an empty array Scope C# 2.0+ statements Body $TYPE$[] $NAME$ = new $TYPE$[] {}; Parameters
Before expansion After expansion |
#if | Scope C# 2.0+ except strings, at line start Body #if $expression$
$SELECTION$$END$
#endif Parameters
|
#region | Scope C# 2.0+ except strings, at line start Body #region $name$
$SELECTION$$END$
#endregion Parameters
|
enum | Scope C# 2.0+ type members, C# 2.0+ types and namespaces Body enum $name$
{
$END$
} Parameters
|
else | else statement Scope C# 2.0+ statements Body else
{
$END$
} Parameters
|
~ | Destructor Scope C# 2.0+ type members Body ~$classname$()
{
$END$
} Parameters
|
ctor | Constructor Scope C# 2.0+ type members Body public $classname$ ()
{
$END$
} Parameters
|
cw | Console.WriteLine Scope C# 2.0+ statements Body System.Console.WriteLine($END$); Parameters
|
class | Scope C# 2.0+ type members, C# 2.0+ types and namespaces Body class $name$
{
$END$
} Parameters
|
Exception | 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
|
struct | Scope C# 2.0+ type members, C# 2.0+ types and namespaces Body struct $name$
{
$END$
} Parameters
|
forr | Reverse 'for' loop Scope C# 2.0+ statements Body for (int $index$ = $max$ - 1; $index$ >= 0 ; $index$--)
{
$END$
} Parameters |
namespace | Scope C# 2.0+ types and namespaces Body namespace $name$
{
$END$$SELECTION$
} Parameters
|
interface | Scope C# 2.0+ type members, C# 2.0+ types and namespaces Body interface I$name$
{
$END$
} Parameters
|
sim | 'int Main' method Scope C# 2.0+ type members Body static int Main(string[] args)
{
$END$
return 0;
} Parameters
|
indexer | 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 |
svm | 'void Main' method Scope C# 2.0+ type members Body static void Main(string[] args)
{
$END$
} Parameters
|
unsafe | unsafe statement Scope C# 2.0+ statements Body unsafe
{
$END$
} Parameters
|
unchecked | unchecked block Scope C# 2.0+ statements Body unchecked
{
$END$
} Parameters
|
tryf | try finally Scope C# 2.0+ statements Body try
{
$SELECTION$
}
finally
{
$END$
} Parameters
|
try | try catch Scope C# 2.0+ statements Body try
{
$SELECTION$
}
catch ($EXCEPTION$ $EX_NAME$)
{
$SELSTART$System.Console.WriteLine($EX_NAME$);
throw;$SELEND$
} Parameters
|
switch | switch statement Scope C# 2.0+ statements Body switch ($expression$)
{
$END$
} Parameters
|
while | while loop Scope C# 2.0+ statements Body while ($expression$)
{
$SELECTION$$END$
} Parameters
|
iterator | simple iterator Scope C# 2.0+ type members Body public $SystemCollectionsGenericIEnumeratorG$<$type$> GetEnumerator()
{
$SELSTART$throw new System.NotImplementedException();
yield return default($type$);
$SELEND$
} Parameters |
propg | Property with a 'get' accessor and a private 'set' accessor Scope C# 2.0+ type members Body public $type$ $property$ { get; private set; } Parameters
|
Attribute | 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 | do...while loop Scope C# 2.0+ statements Body do
{
$SELECTION$$END$
} while ($expression$); Parameters
|
checked | checked block Scope C# 2.0+ statements Body checked
{
$END$
} Parameters
|
if | if statement Scope C# 2.0+ statements Body if ($expr$)
{
$SELECTION$$END$
} Parameters
|
lock | lock statement Scope C# 2.0+ statements Body lock ($expression$)
{
$SELECTION$$END$
} Parameters
|
mbox | MessageBox.Show Scope C# 2.0+ statements Body System.Windows.Forms.MessageBox.Show("$string$"); Parameters
|
using | using statement Scope C# 2.0+ statements Body using($resource$)
{
$SELECTION$$END$
} Parameters
|
hal | ASP.NET MVC Html.ActionLink Scope C# 2.0+ expressions Body Html.ActionLink("$TEXT$", "$ACTION$", "$CONTROLLER$") Parameters
Before expansion After expansion |
ua | ASP.NET MVC Url.Action Scope C# 2.0+ expressions Body Url.Action("$ACTION$", "$CONTROLLER$") Parameters
Before expansion After expansion |
rta | ASP.NET Controller RedirectToAction Scope C# 2.0+ expressions Body RedirectToAction("$ACTION$", "$CONTROLLER$") Parameters
Before expansion After expansion |
attachedProperty | Attached property Scope C# 2.0+ type members Body 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);
} Parameters
The template creates an attached property with required get and set procedures. |
dependencyProperty | Dependency property Scope C# 2.0+ type members Body public 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
|