Thursday, January 01, 2009

JetBrains ReSharper vs. DevExpress Refactor! Pro

My good buddy, Sergey left me some comments on my blog post about Refactor! Pro and that is what finally made me try out ReSharper. I get so comfortable using what works for me that I don't look around to see what might be better... familiar?

Almost everybody I know uses JetBrains ReSharper, and they all give me that confused look when I tell them that I use the DevExpress Refactor! Pro product. I never ventured outside of my bubble of comfort to see what I have been missing until last week. Why fix what isn't broke? So anyway, I finally installed ReSharper and disabled my Refactor! plugin. I'm slowly learning the keystrokes for refactoring and generating code, and it's getting easier. I felt so backwards for the first few hours, and spent a lot of my time inspecting the menu options to see what is available and how to use the features that are available.

There are a LOT of features with this product and I must admit that it's pretty overwhelming at first. It has taken some getting used to, but I'm starting to be productive with it. Rather than remapping the shortcuts to be the same as Refactor!, I'm forcing myself to learn ReSharper shortcuts to give it an honest attempt. So far, my favorite feature of this product is the 'Clean Code...' function (keys: [Ctrl][E],[Ctrl][C]), the 'Refactor' function (key: [Alt][Enter] (equivalent to Refactor! [Alt][~]), and most importantly the feature rich scroll area with warnings and errors.

To be 100% honest though, there is nothing that ReSharper is offering to me yet that I can't do with Refactor! Pro. I probably only used about 40% of Refactor! Pro's featureset, but I used the crap out of them. Plus I really enjoyed the UI experience in Refactor! Pro a hell of a lot more than I do from ReSharper. The guys at DevExpress made sure they didn't bother me with unecessary prompts as I coded and I miss that while I learn ReSharper. Simple things like renaming variables, reorganizing parameters, and auto cleaning my code should not prompt me with wizard dialogs, it should just work.

For now I'm still evaluating and will continue to give ReSharper an honest effort. I'll use it until my evaluation expires then decide. So far Refactor! Pro is still my choice, but ReSharper is creeping up as I use it more and more... :) I'll post more later as I continue to use it.


Anonymous said...

I don't know. I come from DevExpress Coderush + Resharper Pro!

After using that for 3 trails in a row (I format too much) I won a license for Resharper.

While the background compiling is fun for finding errors, I don't like the plugin's buttons. Devexpress had 1 button to access everything while Reshaper uses multiple button combinations for different features.

Devexpress is too expensive for me (I'm a student), so I'm 'stuck' with Resharper. But if I could swap my license I would do it without a single moment of doubt / regret

Anonymous said...

i agree i <3 Refactor pro with a passion as a student I've learned so much more than i have learned in class just by using the code rush code issues feature but sadly its way too expensive for the suite for me as a student $350 for both licenses i bought the Refactor pro license but i think I'm refunding it since you must buy the code rush license for code issues which seems ass backwards to me as most other code issues suites come with their refactoring programs e.g. Resharper kinda disappointing and DevExpress doesn't offer much in student discounts (10% if you email them for the coupon code) so looks like im stuck with resharper for now too since its $50 for students