The JetBrains team have been working hard at getting functionality and bug fixes into version 4.0 of ReSharper. I'm very excited to see that it's finally reached RTM status and now fully supports Visual Studio 2008 and all the C# 3.0 goodness! Go get it here. For those who have been involved in the EAP program, it's actually build 819.
For those who've never tried R#, I strongly suggest that you take it for a spin. The improvements it brings to productivity are just immense. For the full list of features the JetBrains site has all the info, but here are a couple of my favourite features:
Go To File / Member
This functionality is brilliant at quickly navigating around large solutions. You can type in the full name of the class / method / file that you are after, just the capital letters, you can use wildcards or you can combine all these techniques.
Yes I know that Visual Studio has included some refactoring functionality for a while now, but this one of ReSharper primary strengths. It includes options such as:
Rename class / method / variable / parameter / field / property (optionally searches within comments and strings)
inline a method
Extract interface / superclass
Push members up / pull members down
Introduce variable (I esp like the way it detects multiple occurrences of an expression of offers to replace them all)
- Convert anonymous delegates to / from lambdas
Set field values from constructor arguments
There's so many of these - these are just the ones I can think of right now. In fact, there are so many that I always keep a copy of the ReSharper keyboard mappings on my desk.
Coding in Reverse
Undoubtedly the most powerful feature available within ReSharper, JetBrains picked it out as the primary skill of the ReSharper Jedi. This is a technique where you use variables / methods / classes before they exist. ReSharper will then infer their definition from your usage and allow you to actualize them with a couple of keystrokes. It's immensely powerful, but it's really got to be seen to be fully appreciated.
I strongly ReSharper to all developers who want to improve their productivity ... which should be all developers. I also strongly suggest that you take some time out to learn the featureset and some of the options available within ReSharper. Joe White's blog series The 31 Days of ReSharper is a great place to start this journey. Just be warned that you might get seriously hooked.