Types of templates
There are several types of templates that you can use with ReSharper:
Live/Surround templates can be used for generating code in existing files and (if there is the
$SELECTION$
parameter in the template body) for surrounding code fragments with template code, such astry...catch
statement.Each live template is identified by a Shortcut — a short string of characters, for example
foreach
— that you can type right in the editor to invoke the template.Postfix templates, which are available for C#, JavaScript, TypeScript , and C++, help you transform expressions that you have already typed without jumping backwards. For example, you can type
.null
after an expression and ReSharper will create anif
statement that checks the expression to be null. For more information, refer to Postfix templates.Source templates, which are only available for C#, can be created right in the code of your project as extension methods. As soon as you define a source template, you can pick it up in the completion list of corresponding types, similarly to postfix templates. For more information, refer to Source templates
File templates are used to create one or more new files with predefined code, such as a type declaration, unit test, and so on. File templates have no shortcuts, they are identified by their descriptions. For more information, refer to Create files from templates
Right after installing ReSharper, you will find a lot of predefined templates of all types. Predefined templates cover the most common cases for C#, VB.NET, ASP.NET, XML, HTML, Razor, CSS, JavaScript, TypeScript and Resx code. Predefined templates also include code snippets for C# and JavaScript imported from Visual Studio. Note that imported Visual Studio snippets are a part of ReSharper installation and you cannot import your custom Visual Studio snippets.
For custom cases, ReSharper provides tools for creating, editing, and sharing user-defined code templates that can cover any particular aspect of your development practices.
This feature is supported in the following languages and technologies:
The instructions and examples given here address the use of the feature in C#. For more information about other languages, refer to corresponding topics in the Languages and frameworks section.