In my daily work, I'm using a lot of different tools. Only few of them really make me work more efficiently. One of them is JetBrains' ReSharper. It's one of those tools that you never want to work without once you laid your hands on it.
What is ReSharper?
ReSharper (short: R#) is an Add-In to Microsoft Visual Studio 2005/2008 that combines several useful features. Here's just a small list of things R# can do for you:
- Refactoring - re-structures the code without modifying its functionality etc.
- Code analysis - detects potential compilation errors while you type, provides quick fixes to solve issues quickly etc.
- Source navigation - navigate to base types/derived types, find usage, search for types/members etc.
- Code assistance - advanced syntax highlighting and code completion, reformat and reorder code etc.
- Core generation - creates members, variables etc. in case they are not defined yet, provides stub implementations for overridden members, etc.
To get a more detailed overview of all the features, check out the Features page
Why R# is awesome
Sceptics may say: "Code completion, syntax highlighting, refactoring? VS has all of it". Sure. Kind of. Here's why R# is so essential for me:
- Refactorings are fast
Unlike the built in refactoring tool in Visual Studio, the R# refactoring are amazingly fast. No need to go and make coffee while performing a simple renaming
- More refactorings
R# has a lot of refactorings that you won't find in Visual Studio: pull members up, push members down, change signature, extract base class, method to property/property-to-method etc.
- Really smart code completion
For example, you can start writing a type name, then hit the Import Symbol Completion shortcut and R# will provide you with a list of matching types, including those in namespaces that you haven't included with using yet. Another type of completion is Smart Completion, which narrows down the possible choices to only those that are valid and reasonable at the given time.
In the example above the caret was currently in the braces of the Inter() call when I pressed Smart Completion (Ctrl+Alt+Space). As you can see, the listed symbols are all of the type of the argument (string).
- CamelHumps
Several features (like the import symbol completion feature mentioned above) allow you to find a type by typing the capital letters only. Example: type AOO, press the shortcut for type completion and R# will show you:
- QuickFixes & ContextActions
The code analysis module is just great. In countless situations, R# will provide you with hints on situations where you can modify or improve your code.
For example, if you migrate from C# 2 to C# 3 you might want to make you of features like type inference for local variables or object initializers. R# knows that and provides you with (countless!) context actions.
Here's an example:
Original piece of code (the green lines mark possible context actions):
First context action:
Second context actions:
Final code:
- Easy to use, yet powerful file, live and surround templates. I find those much easier to use than the snippet system in VS.
- C# 3.0 support: lambdas, extension methods, object/array/collection initializers etc - R# provides support and assistance for all new features of C# 3.0
- etc.
But it is hard to tell you everything I like about R#. The reasons why I use and love R# are countless.
Try it yourself
The best way to convince yourself of the improved efficiency R# can bring you is to try it yourself. R# offers a 30 days free trial license.
Need more time? Try ReSharper 60 days for free
If you think 30 days is not enough to learn all the features of R#, I am happy to announce that you can get an extended evaluation license that lasts 60 days. Yup, that's two months in which you can work with R# without any restrictions or obligations.
How to get the extended evaluation licence
Here's what you need to do:
- Use the contact form to request a personal evaluation licence for ReSharper. Please do not forget to give your full name or company name and the country you're from (JetBrains kindly asked to provide the country).
- I will forward your request to JetBrains.
- JetBrains will send you a 60 days licence key that is specifically made for you (the user name is either your full name or your company's name)
- Of course, I won't give your personal information away to anyone (except to JetBrains naturally)
Convinced? Buy ReSharper (and support me while you're at it
)
I hope I could convince you of ReSharper. For me, it's an essential tool I wouldn't want to work without. I'm sure you will love it as much as I do.
If you're convinced to buy R# and you want to support me, I can provide you with a special coupon code. This will give you access to a notable discount on your ReSharper order and will on the other hand reward me for my effort. Just use the contact form and ask for the coupon code.
Don't forget to tell your friends and colleagues!