« JET, MAPI and STA | Main | PipelineTesting Library v1.0.1.0 Release... »
A couple of weeks ago I talked a bit about some of what I liked (and some I didn't like) about CodeRush, and asked a few questions about Resharper and how it compared. Ilya Ryzhenkov, one of the developers at Jetbrains was extremely kind and answered some of my questions and encourage me to download the trial version and see what I thought about the product for myself.
Here's what I've found after testing Resharper for a couple of weeks:
Resharper feels less intrusive to me than CodeRush. That's not a bad thing about CodeRush, by the way. The reason CodeRush feels a bit more intrusive to me is that a) it has lots and lots and lots of templates and features and arrows and so on and b) it has a few things to make its features more visible and discoverable. All of that is good, in general terms, but it just feels a bit too "in your face" to me.
The downside for Resharper here is that you won't discover some of its features unless you take a look through the Resharper menus. and try stuff out.
Keyboard Bindings
One of the things I mentioned the last time that caused me issues with CodeRush was how many of my favourite keyboard shortcuts it overrode. This hasn't been as much of a problem with Resharper, for two reasons:
Despite (2), I've hit a few snags here with Resharper. The first one is that I find the Resharper key conflict dialog a bit harder to read than necessary; it could really be improved a bit to make it clearer, in particular to make it more obvious what the Resharper command does. The second issue I have is that once you decide which key action you want to stick with and the conflict dialog closes, the action you selected doesn't execute right away, so you have to press it again!
Another issue I ran into was when I ran into a conflict with the Shift+Tab combo. I selected to stick with the default VS action (decrease indent). Unlike other keys, however, this one didn't seem to "stick". I didn't get the Reshaper action, but neither the VS action, so I was left with no Shift+Tab and had to manually go to the Visual Studio options dialog to re-assign it to Edit.DecreaseLineIndent.
My last issue with the keyboard is that Resharper assigns the F2 key by default to the Rename refactoring (which makes perfect sense as that's exactly what F2 does in most applications), but that conflicts with my bookmark navigation keys, which I'm not thrilled about
Code Style
Resharper has some pretty extensive code style options for C#, and they seem to work far better than the built-in Visual Studio options. One thing here I really liked was that it tends (usually) to recognize when you intentionally do something in a different in style and leaves it alone.
One issue I've seen, however, is when trying to use the "Reformat Code" option at the project level: At least a couple of times it has pegged Visual Studio with 100% CPU and hang, so I've had to kill it with task manager. At least one of those times it seemed some lengthy code generated Web Service proxies were the cause of the issue.
Illya also pointed out to me a cool feature in Resharper: you can export your code style settings to an XML file (and import it back). You can also force a given style configuration for your team for your solution or associate a style configuration to your solution as an individual. In other words, Reshaper already does something like what I suggested for Visual Studio. My only complain here is that a) the code style settings in Resharper don't completely override how the VS editor formats code (tab settings for example don't seem to be included), and b) the feature could really be more discoverable.
Performance
Resharper does increase Visual Studio loading time, though it doesn't seem to be as bad as I was expecting. That said, loading a large Visual Studio solution (particularly with many referenced assemblies) with Resharper enabled the first time can take quite a while.
Other Stuff I liked in Resharper
Other Stuff I don't like
Conclusion
Resharper is a great product and adds a lot of capabilities and features that really improve the Visual Studio experience. Sure, it has its snags, but we live with Visual Studio, don't we? . Both Resharper and CodeRush are great products and any developer would be lucky to have either one on his/her toolbox.
Tomas Restrepo is a software developer located in Colombia, South America. His interests include .NET, Connected Systems, PowerShell and lately dynamic programming languages. More...
email: tomas@winterdom.com msn: tomasr@passport.com
Copyright © 2002-2008, Tomas Restrepo.
Powered by: newtelligence dasBlog 2.2.8279.16125