Note: This is about ReSharper version 2.5. R# is currently up to version 6, and has loads more stuff than I talk about here. So think of this as just the briefest introduction to what ReSharper can do.
ReSharper is a Visual Studio add-in that adds refactorings (many more than VS 2005 ships with), code cleanup, and a bunch of other conveniences. I tried downloading it a couple of years ago, opened the project we’d been working on, and it crashed. A lot has changed since then.
A few months ago, we looked at it again, and we liked what we saw. We bought a copy for everyone in the department. None of us wants to develop in Delphi anymore. (Granted, the lack of ReSharper is only one reason among many, but it’s a big one. Delphi can’t even pull off a rename refactoring, for crying out loud.)
JetBrains, the guys who make ReSharper, have a lot of info on their Web site that shows off some of the ReSharper features. But I think it’s a lot to absorb in one sitting. And besides, it could use the point-of-view of an actual, happy customer, saying “These are my absolute favorite features” instead of the complete laundry list. So I’m setting aside February on my blog for the “31 Days of ReSharper”.
Yes, I know there are only 28 days in February. But ReSharper is just that cool.
All our Visual Studio work is in C# (except for a tiny bit of C++, but ReSharper doesn’t do much for C++). So all my examples will be based around C#. ReSharper does also have a few refactorings for VB.NET, but I don’t know how extensive.
Here’s the list of the articles so far:
- Day 0: Basics and installation
- Day 1: The gray, the red, and the squiggly
- Day 2: The color bar and the green box
- Day 3: ReSharper survival guide, or, What’s up with my keybindings?
- Day 4: Auto closing delimiters
- Day 5: Integrated unit-test runner
- Day 6: Shared options in the .resharper file
- Day 7: Code formatting
- Day 8: Find Usages
- Day 9: Parameter Info
- Day 10: Go To Type
- Day 11: Code navigation
- Day 12: Type Hierarchy view
- Day 13: File Structure view
- Day 14: Suggested variable names
- Day 15: The Ctrl+Space family
- Day 16: Importing namespaces with Alt+Enter
- Day 17: Change All with Alt+Enter (and, Introducing the red light bulb)
- Day 18: Adding things with Alt+Enter
- Day 19: Implement Members with Alt+Enter
- Day 20: Fix errors and warnings with Alt+Enter
- Day 21: Code transformations with Alt+Enter
- Day 22: Generating code with Alt+Ins
- Day 23: Introduce Variable (and, introducing Ctrl+Shift+R to refactor)
- Day 24: Introduce Field
- Day 25: Introduce Parameter
- Day 26: Change Signature
- Day 27: Extract Method
- Day 28: Really Extract Static Method and Extract Property
- Day 29: Refactoring with interfaces
- Day 30: Rename, including Viral Rename
- Day 31: Safe Delete