views:

12426

answers:

18

I know there are many discussions if Resharper or CodeRush is better. At my company we currently use Resharper and I'm fine with it.

But last week I watched a screencast about CodeRush and thought it was amazing. There are just so many "new" refactorings that I immediately thought about a migration.

What's your favorite tool for refactoring, code-analysis, navigation inside Visual Studio etc and why? At which areas do you think is Resharper better and at which areas CodeRush?

+9  A: 

I've been a long time user of CodeRush and Refactor! Pro. CodeRush is way more than refactoring. Once you learn the rules it sets out, coding speed increases. However, even before you learn the rules, it intelligently applies itself to existing things you do and makes doing them easier.

Indeed, the thing I miss the most about coding in Ruby on Rails is that I don't have an IDE with CodeRush and Refactor! TextMate bundles get me part way, but it's not the same.

They have a free trial available, so I encourage you to give it a run and see how you like it. I've never looked back.

Tim Sullivan
+10  A: 

It's Resharper for me. I've been using it since it's first EAP release and I love it to bits! As you say, it far more than refactoring - it's the way it supports me in navigation and code comprehension that I use far more than the refactoring. Two of my favourite features are the code cleanup and type members layout.

I find Tim's comment intriguing where he says:

it intelligently applies itself to existing things you do

I'd be interested to hear what this is in CodeRush. I have a lot of respect for Developer Express products.

Sean Kearon
Is this really the correct answer? It doesn't even answer the question.
Dan Goldstein
This answer is useless. It doesn't compare the two products; it merely acts as a cheerleader for one. If this is the correct answer, then the *question* is wrong.
Kyralessa
+15  A: 

CodeRush is where it's at man. I didn't like resharpers intellisense, so i turned it off, which makes resharper less useful.

Darren Kopp
I did the same thing but after turned it on again and gave it sometime now i find better than VS intellisense
Yassir
I haven't used R# at all, but I was disappointed at the introduction of environment crashes to VS2008 when I tried out CR-Express. I stopped using it because it crashed the IDE at least 2-3 times per week. (I decided it was responsible b/c, after I uninstalled it, the IDE returned to it's typical, boringly stable state. :) )
Greg D
I would suggest checking out the current version of CodeRush Xpress. At version 9.2.4 it is a lot more stable and memopry efficient. See http://community.devexpress.com/blogs/markmiller/archive/2009/06/17/performance-and-memory-milestones-in-coderush-and-refactor-pro-preview-of-9-2.aspx
Rory Becker
Remember R# isnt blameless on IDE crashes either though (I once had a TeamCity issue which had quite a few DX bits in the call stack but the issue was firmly in the JB bits) - Its one complex ecosystem. But at the same time both JB and DX are good on tidying stuff like that appropriately quickly.
Ruben Bartelink
+7  A: 

I've tried both. JetBrains Resharper is way better for me than DevExpress Coderush.

JetBrains is better with the IDEs (they have their own IDE for java, after all) just like DevExpress is better with the beautiful components.

Rinat Abdullin
+64  A: 

Honestly they both are equal to the task. What I've found is that CodeRush/Refactor Pro has a steeper learning curve, but once you have trained yourself and the environment (and switched a few keystrokes) CodeRush really becomes effective.

ReSharper is equally good and don't let anyone mislead you on that point. They are not equal though and it will depend on your needs. CodeRush is way more extensible (IMO), but if you move from one to the other you will be missing a couple things from the other.

Back in July I took a month and I did just what you are talking about doing (I migrated from ReSharper to CodeRush and blogged about it).

I'm pretty happy with the end result (there's a couple things I'm missing... CodeRush's Code Analysis is still not quite at ReSharper's level and the "Move" refactoring.. beyond that I found everything I needed).

Here are my blog posts so you can refer to them (if you want)...

Hello CodeRush!
After Week 1
2 weeks with CodeRush
CR/RP Wrapup

As I said though both tools are excellent and depending on your willingness to learn a new tool, you may be better with what you have right now.

Jay Kimble
What was the specific issue with CodeRush's move refactoring?
Frank Schwieterman
I tried Resharper and as i recall it annoyed me by saying "This could be better if only..." and a little light bulb next to a lot of stuff. Needless to say, it got removed almost right away. CodeRush offers the tools and abilities you need to get coding faster without getting in your way by pestering you with "style recommendations". (sorry if that sounded like a marketing line)
RCIX
@Frank Schwieterman: DX_MoveCode is just one example of what it doesnt do. What are you comparing in R# to CR, and what do you mean by the question - i.e., do you believe he has a case or not?
Ruben Bartelink
Would be nice to include version number as ReSharper now released 5.0.
Wernight
+7  A: 

Having tried both, I'd say latest version of CR/R has the edge in terms of integrating with the programming workflow. Usually you won't see a dialog asking if you wanted to do this or that, it just flows with what you're doing. You're always a keystroke away of all the available refactors etc. Latest version includes IMHO important refactors like push/move method. Navigating your classes is faster in CR/R.
I have noticed also that performance in large projects tend to be better in CR/R than that of Resharper.
Intellisense support is better in Resharper, as well as code analysis.

julio.g
+2  A: 

ReSharper is the one for me. I have written about this here : http://www.tewari.info/2009/02/21/resharper-vs-coderush-refactor-pro/

A: 

Both of these tool are excellent. I currently use Refactor! Pro. I've only just started using CodeRush Xpress as well. I used ReSharper a bit at a client site back in 2005. I purchased Refactor! Pro a couple of years ago because at that time it had wider language support. I was doing VB at the time and Refactor! supported it, ReSharper didn't then. I prefer the UI paradigm in CR/R! but as I've not used a current version of ReSharper I can't judge what's best. However, it does seem that ReSharper is more advanced in the code analysis area. The main point is that both tools are good and way better than what you get out of the box with Visual Studio!

Kevin McFarlane
Code Issues (available in Coderush 9.1 and higher) are much more mature now than when this answer was first given.
Rory Becker
+2  A: 

I use resharper - just downloaded the CodeRush free thing.. but there's no items on the menu bar./.. nothing.. only a line between brackets... so I think I'll stick with resharper..

For more information on Coderush Xpress see http://community.devexpress.com/blogs/markmiller/archive/2009/06/25/coderush-xpress-for-c-and-visual-basic-2008.aspx
Rory Becker
A: 

I'm a long time IntelliJ and R# user and I'm sure I'd find it hard to switch, but my curiousity about what I'm missing out on is strong enough to approach trying. From what others are talking about on this question page and elsewhere online, I think I'd still miss the navigation and analysis features of R#.

I found this page of videos that show CR/RP features. It might be useful to people like me who want to see what they're missing out on before installing anything:

Training Videos and Online Tutorials - Coding Assistance and Refactoring Tools by DevExpress

Drew Noakes
+2  A: 

I used Coderush for a year pre TDD. I've now used Reshaper for nearly 1.5 years. I easily go for an hour or two without using the mouse now thanks to R# (only because I often run out of batteries)

If you practice TDD and or learn to use the tools fully then Resharper is the way to go, I hit many frustrations with CodeRush in TDD and it seems at the time effort was going to do javascript evaluation rather than evaluating productivity enhancement for core C#.

If you're the type of person that uses Resharper for CTRL+T and mouse click refactoring then you'll probably get more from Coderush, especially if property generation if high up on your consideration list. Day 1 impressions CodeRush wins, equally Day X if you dont learn embrace the tools fully, but by end of month one with a solid eval Resharper wins. Next time you reach for the mouse ask is there a shortcut for this, try it.

Resharper has a higher learning curve to get going (you need to become fluent with stuff beyond goto type) and works at its optimal potential with TDD approach.

mattcodes
Half the problem IMO is that R# makes everything a separate shortcut - that and the fact that it stomps over other shortcuts. What specific bits did you find in CR's TDD support (I'm pretty happy with it but cant recall when it really got good)?
Ruben Bartelink
Any specific info about how it helps TDD? I haven't used R# for TDD methodology, but am curious to find out.
Charles Prakash Dasari
+1  A: 

The reason I got R# for its code analysis. Showing me error in real time is awesome. CR doesn't have it or its weak. it's taking them foreevr to get right.

I also love R# navigation shortcuts.

CR is probably better in refactoring but I seldom do refactorings. I do them by hand. Refactor Pro has so many refactorings, you might be buried. Learning curve is steep.

Tony_Henrich
+1  A: 

I have done some big refactorings lately and would say that I can not work without Resharper any more.

You can just find out so many things so fast, like the usages of methods, classes, interfaces, the inheritors, etc.

And if you want to apply refactorings there is a lot of support which makes Resharper a must- have for me

ollifant
+10  A: 

I've been a long time user of CodeRush + RefactorPro, whereas my friend in one team is using Resharper.

I really would like to have code analysis at the same level that he has in R#. CR is just poor here. R# excells in code layout features as well and has decent test runner. In CR, there is no code layout and formatting tools and test runner is not released yet. It is in planned stage.

Regarding navigation, we find both tools equal.

My friend envies me templates that CR has. R# templates are far behind. Also, learning curve of R# is worse. CR is much easier to grasp. Also, refactorings provided by Refactor Pro are better than in R#. They are just easier to cope with. So, in terms of writing code I find CR better.

Recently we both tried to write plugins to implement features we see in opposite tool and would like to have. I was able to do this waaaay easier for CR. Extensibility of DXCore is amasing.

All in all: R# has much more features, but they are much harder to learn. Also, if you find something missing, CR is easier to extend.

Przemaas
+4  A: 

Is there any performance difference between the two? I was a long time ReSharper user but finally gave up when I couldn't stand the sluggish performance any longer. The more complex my project (forms, etc) got, the slower the machine got. I uninstalled it and performance was way, way better. Is CodeRush as sluggish?

Andrew
I switched for the same reason, and even on huge projects I have not had CodeRush become slow. (Sometimes it takes a while for the suggestions to appear, but unlike ReSharper it never bogged the entire environment down).
Godeke
The performance in CodeRush+RefactorPro has increased a lot over the past year of releases especially for projects that have already been opened before. They changed a lot of back end stuff to achieve this and I am very happy.
PeteT
I've had the same experience. I have a rather old laptop at home with 1GB memory, and Visual Studio 2010 + R#5 was basically unusable even for a file->new project sized solution. On my work laptop, opening up a meager solution with about 40 classes and the same amount of files, in one project, and about the same number in another (unit tests), skyrocketed Visual Studio memory usage to 2.6GB memory, and that's without solution analysis turned on. Refactor! Pro gave 300MB usage and had stellar performance. R# still has a way to go in this regard I think. I like some of the features of R# though.
Lasse V. Karlsen
A: 

i have been using notepad to develop aspx so, it is fine for me... any way.. some day i will install VS

alex
how does this in anyway add to the conversation
krystan honour
+16  A: 

The CodeRush refactoring experience is faster and smoother (fewer keystrokes, fewer dialogs - zero, fewer mouse movements) than ReSharper's. When you rename or change a signature that impacts many unopened files on disk, CodeRush properly supports multi-file undo. By contrast, ReSharper presents a dialog asking if you want undo support for this Rename, and if you say yes, ReSharper proceeds to open all the files touched by the refactoring.

CodeRush has more refactorings than ReSharper, although ReSharper has a nice Move member to class refactoring that has yet to hit CodeRush. ReSharper also has a nice rename feature that lets you rename variables that contain a class name when you rename that class. For example, if I rename a "Spaceship" class to "Spacecraft", ReSharper finds identifiers with names like "superSpaceship" and suggests they be renamed to "superSpacecraft".

CodeRush is a little bit faster than ReSharper on Visual Studio startup and on project opens. ReSharper uses more memory, up to six times as much on really large solutions (e.g., 1000+ classes).

ReSharper reports more of the background code issues than CodeRush, and the code issues ReSharper shows are in general more useful (e.g., parameter type can be demoted to a class closer to object), however CodeRush includes a code issue that spots undisposed local variables that implement IDisposable which is very useful.

CodeRush ships significantly more code templates (like VS code snippets) than ReSharper, and CodeRush's templates are designed to be optimally efficient (for example, "ms" builds a method that returns a string, "vb" creates a variable of type bool, and "nl.i" creates a new initialized List). Your fingers benefit from the efficiency but the templates take some practice getting used to. The CodeRush training window can ease this learning curve if you have it up while you code. Interestingly, CodeRush templates effectively abstract away the programming language, so developers working in more than one language (or transitioning from one language to another) can press the same keystrokes and get essentially the same code, regardless of the language they are coding in.

ReSharper has a nice Intellisense replacement and an interesting parameter tool tip replacement. ReSharper has a variable name suggestion feature that is useful. ReSharper also has a code reformatting feature that is very nice.

CodeRush's TDD consume-first declaration features require fewer keystrokes than ReSharper's (see these in free CodeRush Xpress which includes most of the consume-first declaration features shipping in the full version of CodeRush).

ReSharper's find all references window has multiple panes for each search performed, which is nice. CodeRush provides only one pane for the last search performed. CodeRush has a neat Tab to Next Reference feature that takes you through all references to an identifier just by pressing the Tab key (Shift+Tab takes you back). CodeRush's Find All References appears faster than ReSharper's.

CodeRush's Unit Test Runner released in 9.3 supports more test frameworks out of the box (NUnit, MSTest, xUnit, and MbUnit). The CodeRush Test Runner also understands more of the framework attributes (for example NUnit's ExpectedException MatchType parameter) and also supports dynamically-generated tests (e.g., RowTests, the Values attribute, factories, theories, etc.). Support for test frameworks is extensible and CodeRush includes source code for each of the test framework plug-ins.

Mark Miller
In the interest of full disclosure... it should be noted that Mark Miller works for DevExpress the makers of CodeRush.
Jeffrey Hines
hehe Mark Miller _is_ DevExpress :-)
Johannes Rudolph
Yes, which is why I took special care to ensure that everything presented was accurate and verifiable. If there is any doubt on the accuracy of anything presented above I challenge you to verify it for yourself. There are free evaluation versions of both products readily available. I do offer my apologies for failing to make it clear at the top of the post that I work for DX. It didn't occur to me until I saw your comment that this might not be obvious to some readers.
Mark Miller
@Mark - I by no means meant to question your integrity. I just thought it important that people know your affiliation. I personally love both products, but CodeRush crashes my Visual Studio 2008 frequently, while Resharper doesn't. Maybe I just have a bad install. Hopefully with the next 2010 VS and extensibility framework things will be much more stable.
Jeffrey Hines
Jeffrey, let's get that fixed. Contact [email protected] and give us some details so we can reproduce. Let us know what version you're using and tell us a bit about your project and what leads to the issue. Also, if you can attach to the VS process (with a second instance of VS) and get us a call stack that could be very helpful in narrowing down the cause of this.
Mark Miller
For the record, CR doesnt crash VS with any regularity - all plugins are prone to issues and interactions with other components, but I certainly havent seen a CR related issue in the last 2 years across many builds. And one one occasion, CR showed up in a stack trace of a crash but it was actually the TeamCity plugin that was the root of my issue at that time.
Ruben Bartelink
FWIW version 10.1 of CodeRush does introduce a single dialog. but Damn it's a good one. Really justifies itself. -> http://community.devexpress.com/blogs/markmiller/archive/2010/04/26/working-with-color-in-coderush.aspx
Rory Becker
Speaking of support, I must say that I am in love with DevExpress support. I've been using their class libraries for a while now (mostly at work, but also somewhat on private projects), and the bugs/questions/issues I've encountered has been met with nothing but extraordinary support. Twice I've had beta-versions of next release available to me overnight by email fixing bugs I reported late the day before. Couple that with excellent products and I would say I'm a DevExpress fan for sure :) I do like the Alt+Enter to fix missing using-clauses in R# though (Mark/Rory, hint hint :))
Lasse V. Karlsen
If it counts for much Reshaper causes VS to crash often for me. (Nothing like your IDE just going away without so much as an error message.)
Matthew Whited
+1  A: 

I dont think there is any comparison. I used Resharper for years, but once I moved to CodeRush, I am not looking back. The big reason I moved to CodeRush was Resharpers horrible performance with VS2010. R# made the IDE almost unusable. I have a dual core Intel with 6GB RAM laptop and it still had serious problems. Seems to be the consensus our there on this. CodeRush is like its not even there is VS2010. Very lightweigth and just a useful. I dont think one is so much better as far as features go and there are alot of things I like more in R#, but Jet Brains really dropped the ball when VS2010 came out and I was pretty disappointed.

Solomon