ReSharper 5With Visual Studio 2010 now released and the concurrent shipping of Resharper 5, I thought I would share my experiences with the latest version of, IMHO, the best productivity enhancing Visual Studio Add-in there is.
Those of you familiar with previous versions of Resharper 5 will know that ReSharper from Jetbrains is an essential addition to the toolkit of any developer, as it not only speeds up the development process but also helps developers produce better code.
So Whats new in ReSharper 5?
ASP.NET Developers will have a lot to smile about in Resharper 5, with a host of new functionality to check out, some of the highlights include a new file structure tool window, which helps you quickly navigate through an ASPX pages content:
One of my personal favourites though, is the new related files action, which allows you to quickly open related files without using the solution explorer, for example any of the User Controls or related code pages declared on an ASPX page:
For those of you who are working extensively with ASP.NET MVC there is more to smile about, as you know ASP.NET MVC is a hands on process, with little or no tooling available. ReSharper 5 adds some really useful tooling to Visual Studio, the best of which IMHO is the ability to create new types and methods from usages within pages:
Other MVC features include Code Completion and advanced Intellisense:
and navigation to and from controllers:
If, like me, you are beginning to realise the power of LINQ then there is a great deal to be excited about in Resharper 5 as it adds the ability to convert foreach code into its LINQ equivalent, this is great because while I am writing LINQ queries these days, a lot of the older code has yet to be LINQified so this speeds up the process drastically:
I have always thought the enhanced Intellisense alone makes ReSharper a no-brainer in terms of return on investment, Resharper 5 also sports seen some serious improvements in Intellisense speed and one new thing I really like is being able to type something like datasimapr and have it show DataTableSiteMapProvider in the Intellisense, this is smart and saves time which is what intellisense should be all about.
Another thing which works really well is Intellisense for unresolved symbols, imagine that you just copied some code to a new method but you did not include the instantiation of a variable required in that code snippet, well Resharper 5 is clever enough to show that uninstantiated variable in the Intellisense:
Lastly, as a lead Dev I often try to impose some coding methodology on other developers in my team, not because I think my coding style is any better than anyone else's, but because as team members come and go it is really important to have a uniform code base. If we were all left to our own devices, we would inevitably end up with a code soup, which is not easy for any developer to jump into and refactor or modify. I have long been using the ReSharper clean up code function to do this, as it means that Developers don't have to worry about coding my way and I can fix up the code prior to a build. ReSharper 5 extends this functionality, by being able to create and configure custom, sharable code patterns, which can not only be used to replace instances in code but can also be included in code analysis. This means that developers on my team will be able to fix their code to the pattern as they develop. What this means is that it is now possible to enforce best practices without having to be a code Nazi! I let ReSharper enforce for me, giving me more time to worry about architecture and the best cup of coffee ever created!
You can download Resharper 5 (30day trial) from Jetbrains here:
Resharper 5 Trial Download