ReSharper 2016.2 Help

Template Types

There 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 as try...catch statement. Each live template is identified by a Shortcut - a short string of characters, e.g. foreach - that you can type right in the editor to invoke the template.
  • Postfix templates, which are only available for 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 an if statement that checks the expression to be null. See Postfix Templates for details.
  • 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, see Source Templates
  • File templates are used to create one or more new files with predefined code, such as a type declaration, unit test, etc. File templates have no shortcuts, they are identified by their descriptions. See Creating Files from Templates and Creating Multi-File Templates for details.

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/technologies:

C# VB.NET C++ HTML ASPX Razor JavaScript TypeScript CSS XML XAML RESX Build Scripts Protobuf JSON
Feature available Feature available Feature available Feature available Feature available Feature available Feature available Feature available Feature available Feature available Feature available Feature available Feature available Feature not available Feature not available

The instructions and examples given here address the use of the feature in C#. For details specific to other languages, see corresponding topics in the ReSharper by Language section.

See Also

Last modified: 15 December 2016