Create live templates using Resharper

From time to time I find myself writing the same code – a task I find boring, tedious and error prone(I’m not talking about code duplication – which should be eliminated as the evil it is) as the lazy developer that I am I prefer to let a tool perform these tasks for me.

Today I found myself writing unit tests on a new machine – since all unit tests start the same way I’ve decided to create a Live Template to speed up my work.

  1. Write a test method – usually without return value or parameters
  2. Decorate the method with the appropriate attribute – [Test] in NUnit
  3. Write the actual test code

Since I prefer to get to step #3 as soon as I can I usually create a Live Template to handle steps 1 & 2:

Step 1 – Open template explorer

It’s right there under the “Resharper” menu:

image

Now choose the Live Template tab and press New Template button

image

A new page will appear in Visual Studio.

Step 2 – fill shortcut, description & availability

Give your nee template a shortcut, description and decide where it would be applicable.

In this case I’ve decided to go with ntest for shortcut for a template that would only be available in C# where a type member is allowed.

image

Step 3 – write your template

Writing a template is as simple as writing the actual code – no prior knowledge is needed. Use the dollar sign ($) to declare variables.

I my case I want to make sure I follow the same naming convention for every test so I declare three variables by putting them between two dollar sign – no additional work required.

To finish it off I add $END$ to let Rehsarper know where I want my cursor to be after I’ve finished giving the variables valid values.

image

I’ve also marked Reformat and Shorten qualified references to make sure that the resulting code is clean & tidy.

Step 4 – Save

And you’re ready to go – the new template was added to the machines templates and you can use Template Explorer to put it under category and share it with your team.

image

Now all I need to do is write ntest press tab and presto – I get the “test skeleton” and I can jump between the variables I’m declared using tab.

image

Once I’m done giving the test a proper name the cursor waits inside the test method so I write the actual test.

image

As simple as that!

Conclusion

Live template are a powerful tool. In this post I’ve only scratched the surface of their functionality.

If you’re interested in learning more I suggest you head to Resharper documentation.

As for me I’m going to add few more of those and get back to writing code.

 

Happy coding…

Labels: , ,