My new favourite Resharper features
I've always known Resharper could improve my productivity but I've just not found the time to invest using it properly yet. I blogged recently about Explore Stack Trace and I'm starting to think of Resharper as an essential piece of kit rather than a nice to have.
However, today I was lucky enough to have my colleague Rupert Benbrook looking over my shoulder whilst I was working on some Prism samples and he's something of a Resharper Ninja and mentored me through some cool features. Here are my favourites so far.
Alt+Insert
I didn't know about this little chap. Hit Alt+Insert and you'll get the Generate menu.
This is really handy for creating Constructors and the like. I particularly like the fact that if I choose Constructor I get to choose which class members should be specified on the constructor.
public class MyClass
{
private readonly string _foo;
public MyClass(string foo)
{
_foo = foo;
}
}
Nice.
Introduce Field and Initialise
Given Prism's (default but pluggable) use of Unity it's really common to need to add a new parameter to a constructor and store the instance as an instance member. It couldn't be easier, just specify the constructor parameter and put the cursor on the new parameter. Now hit Alt+Enter and choose
public class MyClass
{
private readonly string _foo;
private readonly IRegionManager _regionManager;
public MyClass(string foo, IRegionManager regionManager)
{
_foo = foo;
_regionManager = regionManager;
}
}
Nice!
Initialize Field from Constructor(s) Parameter
And you can go the other way too - have a field that you'd like to initialize in a constructor?
public class MyClass
{
private readonly string _foo;
private readonly IRegionManager _regionManager;
private readonly IUnityContainer _unityContainer;
public MyClass(string foo, IRegionManager regionManager, IUnityContainer unityContainer)
{
_foo = foo;
_unityContainer = unityContainer;
_regionManager = regionManager;
}
}
Niiiice!
Surround With ...
It's common to want to quickly surround a section of code with a try/catch block and I hate doing this manually. With Resharper just hit Ctrl+E followed by U and you'll get the 'Surround With' menu.
public MyClass(string foo, IRegionManager regionManager, IUnityContainer unityContainer)
{
try
{
_foo = foo;
_unityContainer = unityContainer;
_regionManager = regionManager;
}
catch (Exception exc)
{
Console.WriteLine(exc);
}
}
Handy.
I'm going to be using Resharper more and more from now on. Let's hope Rupert runs a nice series of Resharper tips on his blog. I'll certainly be watching. Cheers Rupert!
Originally posted by Josh Twist on the 5th of December 2008 here.
Comments
Anonymous
December 22, 2008
PingBack from http://www.codedstyle.com/my-new-favourite-resharper-features/Anonymous
December 29, 2008
The comment has been removed