JetBrains just released an overview of ReSharper 5.0 on their blog.
I can't help but notice as to how much ReSharper actually does these days FOR YOU. It started out as more of a refactoring tool that made changes to your code based on your wishes ( e.g. reactive ). You initiated the chain of events to take place and it just helped you make those changes more efficiently.
However, over the years ReSharper has become more of an equal partner on your development team and is now recommending changes, spotting code that could be improved, etc. ( e.g. proactive ).
One of the things I hear a lot from developers who use ReSharper is that it helps them write better code as well as learn new features in the language. The fact that ReSharper is more proactive at helping you write better code is probably more valuable to developers these days than the original function of being reactive.
Obviously the proactive features are abundant, but one example of them in ReSharper 5.0 is the new feature, Upgrade-to-LINQ Actions:
“With C# 3.0 and LINQ, developers are able to write data-intensive code more easily by directly describing their intent to the compiler. However, years of imperative programming left us with tons of foreach-style code waiting to be upgraded. ReSharper 5 detects parts of your code that can be rewritten using the new LINQ syntax and suggests to make the conversion automatically, to make the developer’s intent crystal clear.“
Notice the phrase “make the developer's intent crystal clear.“ ReSharper is helping us evolve with our programming languages and getting us back to the basics of focusing on intent as opposed to the algorithm to achieve the intent. Subtle, but powerful.
Enough rambling ;) Check out many of the features of ReSharper 5.0 on the JetBrains Blog.
Other Visual Studio Add-Ins and .NET Developer Tools.
David Hayden