Code Rush Vs. ReSharper

iStock_ Shrugging Man Medium Its funny how sometimes there are pairs of products that contend for “best” and yet seem to be so evenly matched that the decision is often arbitrary, a pick made based on what your friends use, what you used first, which commercial (or Evangelist) is better.  Some classics come to mind

  • Coke v Pepsi
  • Parallels v Fusion
  • Starbucks v Pete’s

None of that prevents adherents from a total conviction that whatever product they happen to use is far superior (see cognitive dissonance), but I’ve never been able to detect much difference.

There are times, however, when we are confronted with a choice between two products where the choice is consequential.  This is especially true if the investment in learning how to use one makes converting to the other painful, if the product will be critical in your life and especially if your sense of self is tied up in your choice.  We see this very clearly with the Mac v PC choice, the C# v. VB.Net choice and so forth.

My dilemma is with CodeRush v ReSharper.[1] They meet all the criteria: the learning curve on either makes switching to the other non-trivial; they are critical in my work and I certainly don’t want to choose the one that all the hip geeks sneer at.

What Are These Things?

Let’s start with what they have in common.  Both are add-ins to Visual Studio and both greatly enhance your productivity and the quality of your code. They do this in three key ways (and lots of other smaller ways)

  • Making it easy to identify areas of the code that are outside your own coding guidelines
  • Making it very easy to refactor your code
  • Providing “Intellisense on steroids” reducing the amount of typing you have to do.

CodeRush is a DevExpress product, and their front page says,

For Developers, CodeRush for Visual Studio® .NET will help you create sophisticated code blocks in seconds and extend code templates instantly. CodeRush will complete identifiers as you type and expand or contract selections logically. With CodeRush, you will be able to instantly place selected code inside Try/Catch blocks, Regions and your own custom wrappers with ease.

ReSharper is built by JetBrains and their front page says,

  • Continuous code quality analysis
  • Instant fixes to eliminate errors and code smells.
  • 40 solution-wide refactorings to safely change your code base
  • 200+ code editing helpers.
  • I’ve yet to see a comprehensive head to head review that wasn’t out of date by the time I read it, and, to be honest you won’t find one here either.

    Some of the most important distinctions I have found so far, however, are these:  [2]

    CodeRush Wins ReSharper Wins
    Refactoring – fewer key strokes Ability to apply formatting and refactoring rules all at once (one key fix)
    More refactorings Some key refactorings not in CodeRush
    Better identification of memory leaks in non-managed code More code issues reported
    Many more snippets – much less typing but you have to remember the short-cuts Better Intellisense supplement
    Terrific real-time learning, context sensitive window Possibly more focused on C# and less on non-managed code
    Better support for Unit Testing Better searching

    It’s a pretty close call. One thing that I’m hoping is that if I spend enough time in both I’ll get a better sense of which is less intrusive and which is more readily called upon when needed. These are surprisingly elusive characteristics.

    So, do you use one or the other? Do you have a clear preference and if so why?  Please, use the comments to share your thoughts and experiences.

    Footnotes

    [1] Full Disclosure: I have multiple license of each. At least one of the companies provided a free copy because I was working on an Open-Source project, at least one license was provided at an educational discount because I’m on the faculty at Brandeis University. It is very possible either or both provided free licenses before I joined Microsoft, and certainly the technical evangelists for both have been wonderfully eager to help me stay within corporate and ethical guidelines while making it easy to obtain their products.

    [2] Even Fuller Disclosure – this list is based on my observations and also comparison points from both company’s sites and in private correspondence from Gary Short, a truly terrific human being who is a DevExpress Technical Evangelist.  Interestingly, the most balanced evaluation was Gary’s!

    About Jesse Liberty

    Jesse Liberty has three decades of experience writing and delivering software projects and is the author of 2 dozen books and a couple dozen Pluralsight & LinkedIn Learning courses. He was a Senior Technical Evangelist for Microsoft, a Distinguished Software Engineer for AT&T, a VP for Information Services for Citibank and a Software Architect for PBS. He is a Xamarin Certified Mobile Developer and a Xamarin MVP and a Microsoft MVP.
    This entry was posted in Tools and Utilities and tagged , . Bookmark the permalink.

    67 Responses to Code Rush Vs. ReSharper

    1. Silverten says:

      OK, I have read many comments on this page — but I’m not sold! I don’t like these “Productivity” tools… At the end of the day, you’re the one that codes… If you like tools to do your coding, then I think you probably just need to “Talk” to your IDE and make it produce your code… (When they produce a language — may 6th to 10th generation language, that understands the human mind – you will probably be a great code hero.) Why be a developer if you rely on everyone else’s ideas anyway, comments and everybody else’s in-the-box solutions???

      I don’t like Re-sharper… not from day one… I don’t really care for anything else either. Any tool that’s got to get in your way, to point out that var typing is better than actually placing an actual type is silly! I want to read my code — not inspect it! If I have to go to school to learn some one else’s nightmare — then count me out!!!

    2. Ash Tewari says:

      Here are some more points to consider when comparing these two – http://www.tewari.info/2009/02/21/resharper-vs-coderush-refactor-pro/

    3. Wes says:

      Never used Code Rush, have heard good thigns, but I have to give it up for ReSharper since I use it and love it. Full disclosure: I read blogs sometimes.

    4. Ian Gordon says:

      Coderush for VS2010 is soooo buggy. used the trial and got so frustrated I actually logged a bug. Apparently its fixed (when it will appear is anyones guess) but made it more of a hindrance than a help.

      I think they rushed it out which is a shame because is had promise.

      Resharper is more stable and a more polished release

    5. Rachel says:

      @Tim Long

      Hi Tim –

      All MVPs are entitled to complimentary copies of CodeRush too, we don’t hold back 🙂 Naturally, everyone should be free to pick their preferred tool based on usability though. I think both DevExpress and JetBrains agree that as long as developers are using some kind of tooling to help them write code then that is what matters most.

      Any MVPs out there wanting to try CodeRush can drop me a note: rachel h at devexpress dot com.

    6. Serge says:

      Definitely R#… Try it and you’re going to be an addict 🙂

    7. Tim Long says:

      I switched to ReSharper because I thought _IT_ had the better unit testing support. I also think it’s easier to tailor. I tried both but in the end I was heavily swayed by the fact that, as a Microsoft MVP, I get a free license to ReSharper 🙂

    8. John Melville says:

      Used coderush for 2 years, switched to R# when coderush took too long to support the VS2010 beta. Not planing to go back. My impressions:

      1. R# seems like a more mature, solid product. CR has too many “early experience” features that don’t work. (I never got coding issues to work.)
      2. I actually liked the CR templating engine, but contrary to your instruction, switching was quite easy and only took a week.
      3. Solution wide analysis is a real productivity enhancement. Yeah, is a memory hog, so just buy more memory!
      4. CR advertises an insane number of “refactorings,” many of which are simple, local code improvements that R# doesn’t bother to count. (I am sure they would if their number was

    9. Ira says:

      I wrote my feelings on resharper recently at http://ira.me.uk/2010/05/22/writing-better-code/

    10. It’s Peet’s and not Pete’s by the way and there is no contest. Starbucks is like Seattle rainwater compared to Peet’s.

    11. Alex Hoffman says:

      I have a CodeRush license, but prefer Resharper.

      I find CodeRush obtrusive and find it actually hampers me by annoyingly inserting unwanted code as I’m typing. Or equally annoyingly, actively preventing me from inserting code (like whitespace via tabs) when I do want it.

      Resharper on the other hand is faithfully there when *I* decide I need it.

    12. Mark Miller says:

      @shawn
      Yes, Microsoft requested that we remove Quick Nav and Tab to Next Reference from CodeRush Xpress in VS 2010, due to an overlap with similar (and perhaps not so polished) features introduced in VS 2010. Those features still exist in CodeRush Xpress for VS 2008. Quick Nav and Tab to Next Reference remain in the full version of CodeRush.

    13. I am a CodeRush guy, I had a brief look at R# but I didn’t have much luck with it, didn’t find it very intuitive.

      CodeRush is great, also the extensibility of the DXCore to produce your own plugins makes it second to none. If CodeRush doesn’t do something out of the box, just whip something up yourself, Rory Becker (a DX Squad member for CodeRush) is even making his own StyleCop replacement within DXCore which supports cross language. Again showing that the DXCore from which CodeRush is built is very flexible.

      Disclosure: I am a member of DevExpress DX-Squad who are people who help people out in the wide DX community. I have however been a full time customer of theirs since 2006.

    14. Mark Miller says:

      @john
      Please contact support@devexpress.com with details on how we can reproduce your hang in VS 2008. What version are you using?

    15. John says:

      You guys did notice when you first installed resharper it asks you if you want to keep the keyboard shortcuts for visual studio or use resharpers right? I run numerous instances of Resharper daily along side dot trace and have no issues with ram usage. 4GB of ram in my rig which in this day and age is the norm for any developer. Also you can tweak the intelisense in the options pane for Resharper.

    16. Darren Kopp says:

      CodeRush for me. I don’t have any need for any of the code cleanup that resharper provides. CodeRush has superior refactoring support in my opinion and the templates are crazy. I hate how resharper hijacks intellisense.

    17. Scott Koon says:

      If you started on ReSharper and moved to CodeRush, you can use the ReSharper compatability plugin for CodeRush and use the R# shortcut keys for CR functionality.

      http://code.google.com/p/dxcorecommunityplugins/wiki/CR_ReSharperCompatibility

    18. When I tried CodeRush, it had big pointing arrows, and it basically looked like it was geared up towards children, as opposed to professional developers.

      There IS a reason why I have been using Resharper since the beta for vs.net 2002 (some 7 or 8 years ago), it was buggy then, but I still stuck with it. There is a reason why I have bought my own personal licences for Resharper since version 3, despite my work buying me one. There is a reason why I turn down jobs because wont let me use Resharper.

    19. Jag Reehal says:

      It’s R# for me, it’s just so simple to use.

      I tried Code Rush but didn’t feel as productive.

      I reckon R# with the TDD Productivity Plugin for ReSharper (http://code.google.com/p/resharper-tdd-productivity-plugin/) is awesome.

    20. Mike Clark says:

      @JeroenH
      LOL, I had a similar experience with R#. Employer has a bunch of licenses for it, so I tried it out. It was OK, except that it took over too many of the existing VS shortcuts and on my machine at least it was a memory hog. I have an odd need to sometimes run two instances of VS at the same time, and when I did it with R# onboard things became instantly like trying to swim through molasses. It was a bit molassesy (is that a word?) with only one instance, too. When I uninstalled, R# did not restore all its shortcut takeovers and I had a dickens of a time restoring them myself. On the other hand, the free version of CR was just great — helped a lot with development while not taking over the PC. In fact, it was quite unintrusive and a joy to work with.

      Everyone’s going to have different experiences. It’s much like Jesse says, they are way too equivalent to make for a clear winner. Except I like CR better.

    21. I’ve got licenses for both but I’m a CodeRush junkie. I love their templating engine and really love the fact that there aren’t any modal dialog boxes, the UI does a great job at showing you what is happening or what is going to happen if you go through with a refactoring.

    22. Pingback: ginktage.com/links

    23. Ivan Bondy says:

      Why not use both? I use both products for quite a bit now. It took me some time to disable overlapping features in one tool or other, but now all is running good and I am able to use best parts of each tools for great coding experience. Just make sure you have fast PC.

    24. Apeoholic says:

      I have used R# a couple of years ago, at that time R# hog my memory and I descided to uninstall it.
      Last year I decided to test Coderush (since I had seen R# still had som problems) and I’m very satisfied.
      My main reasons for using CR is:
      1. Ctrl + . (?) (ctrl +

    25. Pingback: The Morning Brew - Chris Alcock » The Morning Brew #611

    26. Bisby says:

      First, there is no possible comparison between Coke and Pepsi. There’s Coke and there’s the rest. Just sales say everything. Second, if you realy want a taste of coffee, come to Portugal or Italy but refrain to go into any Starbuck’s or the likes.

      Now regarding the ReSharper and CodeRush, I must say never used CodeRush but ReSharper realy helped me when I started coding with stuff like removing unnecessary code blocking and things like that. It got me thinking and reading about the compiler and what happened to my code and how it was used.

      Since coding in VS 2010 I realy don’t feel the call for any of these plug-ins. There might be somethings missing in VS snippets and in intelissense but I say VS IDE is more than enough for me as it is.

      Maybe it’s because I still like to play in NotePad when I really want to go down into things and study them and VS already seems like a lot of help. Maybe it’s I don’t like to repeat code and building snippets and templates don’t turn me on. That’s why I’m not a great fan of MV (C and VM).

      I really prefer to realy know what the hack I’m doing. And Coke.

    27. Sean Feldman says:

      I’ve used both in the beginning and then switched to use R# only. It is very efficient and plays nicely if you do TDD/BDD development.
      As for the “free” version – you have EAPs going on all the time, those are free. But once you get on R#, you will buy it.

    28. Ralph says:

      And what I find frustrating is that I want to be able to use those types of tools in an ‘Express’ environment. I do have a ‘Professional’ environment for VS2003 and 2005 but have yet to get management to shift up to VS2010 (also used 2008).
      There seems to be enough that Microsoft chose not to include in the Express version to encourage people to take the budget hit eventually as we will probably. It would be good those to be able to use these types of add-ons.

      I have both R# and CodeRush. As I recall when I was last using an environment where it was able to be used, R# was my preference although I did have both installed and used pieces from both.

    29. Eaton says:

      I’m with you, I have both installed on VS 2010 and they both work together perfectly.

    30. I kind of hand this same comparison, but after reading your article and looking back at my analysis, code rush didn’t have a chance. If CodeRush is anything like the CodeRush Xpress that’s free with Visual Studio 2010, it doesn’t compare at all to Resharper 5.0.

    31. shawn says:

      With VS2008 I tried Resharper but it bogged down IDE performance so much it was unusable. CodeRush Express was free and didn’t horribly slow down my environment.

      I don’t recall Resharper having a free version?

      However, for VS2010 CodeRush (Express) actually has FEWER features. One that’s sorely missing is the CTRL-SHIFT-Q (Quick Nav). I don’t think the simple TAB to next reference works in 2010 either. Do those two features work in the licensed version of CodeRush on 2010? If not, it’s time for me to look again at Resharper, hoping they’ve beefed up performance.

    32. john says:

      Code Rush hangs my MS VS 2008

    33. Why didn’t you take a look at Telerik’s JustCode in addition to those other two? I’ve been using JustCode for months now and love it. I’ve heard quite a few in the Twittersphere who have said they prefer it over alternatives such as Resharper, b/c it has better performance. You should check it out! http://is.gd/cveJ6 (Full disclosure: I am a former Telerik Evangelist; I no longer work for Telerik, but I continue to love their products)

    34. Alex van Herwijnen says:

      I prefer ReSharper over CodeRush. While CR is a good product, I prefer R# because it’s less obtrusive… CodeRush has a lot of visual indicators and helpers (such as arrows flying over the screen) while R# is much more subtle and simply displays a light bulb if it has an idea for improvement.

      R# for example suggests to change a List to IEnumerable when this is possible. I’m not sure if CR does this as well, but this kind of things greatly improve my productivity.

      Furthermore, I don’t have great experiences when it comes to DevExpress’ ASP.NET Controls, which has negatively impacted the way I feel about all of their products, whether or not this is justified. So far I’ve only seen good things come from ReSharper and JetBrains in general, such as a free build server (TeamCity).

    35. Karthik says:

      I had used both these products in the past, both of these products are unique in its own way, but then considering count of refactoring options available and solution-wide analysis , I had chosen Resharper.

      Cheers,

    36. JeroenH says:

      I’m a R# user myself. My current employer also has Coderush licences. Tried it once, but almost immediately removed it. I really hated the very obtrusive UI.

      The main killer R# feature though is the context-sensitive actions (ALT-Enter key). This key combination gives you popup menu with relevant actions related to the cursor position (a little bit like VS 2010 ‘CTRL-.’.

      E.g. while coding a method, realizing you need an extra field:
      – type the name of the field
      – ALT-ENTER: R# suggests ‘create variable’, ‘create parameter’, ‘create field’; choose the latter. R# moves the cursor to the field declaration. It infers the type (if possible), and detects the field is not initialized.
      – ALT-ENTER: R# suggests ‘initialize field from constructor parameter’
      – ALT-ENTER: R# suggests ‘make field read-only’

      So just by typing a field name and 3x ALT-ENTER, I have added a field to my class and I can move forward. And this is just one scenario, there are numerous others like this.

    37. Chaitanya says:

      I’m using Resharper. Don’t have any clear preference. May be because my company purchased it. I’ll try out Code Rush now. I guess they’ll have a trial version out.

    38. I use CodeRush/RefactorPro because I heard Mark Miller talk about it (them?) on .NET Rocks. I suspect that I would have been just as happy with the decision to use Resharper.

      Biggest yay: single key refactoring.

      Biggest boo: no Inline Method.

    39. Todd says:

      I have used both, first resharper and then coderush / refactor. They release new versions all the time so its hard to compare, we had to uninstall resharper when developing for SharePoint, it was too slow to be practical, but I hear they’ve improved. CodeRush seemed faster and prettier. Interestingly the java guys I talk to claim the java version did amazing things that neither VS plugin do.

    40. Robert Cannon says:

      I haven’t decided yet, but I am giving CodeRush a good try out. I have used Resharper for years, but every time Resharper releases a new version for a new Visual Studio, they have a tough time with performance and stability. It is almost unusable in this version.

    41. Wimmo says:

      Nice article.
      There is a new player on the field called Telerik justcode http://www.telerik.com/products/justcode.aspx

      Still in beta but it seems to work for me

    42. Nathan Dykman says:

      As a user of ReSharper, I have to say I really prefer it. Jetbrains produces my favorite Java IDE and Resharper brings my favorite aspects of IntelliJ to Visual Studio. As for shorter keystrokes, I find Ctrl-Shift-R or the Ctrl-R, [R,O,D, etc.] shortcuts to be fine. The trick to Resharper is to print out the Default Keymap and paste near your machine. Also, I find the live templates to be pretty straightforward (based on the StringTemplate library) and it is easy to make your own.

      Having not used CodeRush, I can’t comment on it, but I really do feel that for C# and to some extent VB .Net programmers, Resharper is a excellent power tool that is worth the money.

    43. Drrandom says:

      I’m a coderush fan, hands down. Some of the reasons why I think CodeRush is a better fit for me are:
      1. Context-based actions – This one is actually huge. Templates and keyboard and mouse shortcuts can all be tied into the context system, which means that you can map the same templates/shortcuts to different actions based on the context you are in. example, the “t” template. When your cursor is at the “namespace” level, you get a test class. When you are in a test class you get a test method. Same template, two actions.
      2. Non-Modal Refactorings, with preview – Refactorings and Code Providers include inline previews which show you what is going to be changed (nifty arrows and things), and they typically happen in a non-modal way (the rename refactoring is a good example, you can actually see all references changing as you type)
      3. DxCore – The extensibility story is amazing. The community plugins site is a good example of some of the things people are doing with it. Also, if you really miss feature X or Y from resharper, chances are you could do it yourself with a custom plug-in (there is actually a plug-in to set up shortcuts and things to work more like they do in resharper, to make the transition easier).

    44. I use CodeRush myself. Like you I received a free copy as part of my MVP but I have to admit that the CodeRush product (in combination with the overall DevExpress suite) is really nice. The likes:

      – Really, really fast turn around for reported issues. Often within the same day.
      – Extensible through custom addins (of which there are a lot) and you can extend almost the entire product yourself. For example I needed some positional related attributes in order to better configure my custom templates so I just wrote my own. Took me less than a day.
      – Templates are really cool and save me a lot of typing. The fact that I can create my own is great.

      Dislikes
      – CR is really, really slow especially when working with native code
      – Documentation for the product and extensibility is non-existent
      – Updating to newer versions has a tendency to re-enable features I disabled causing all sorts of things to happen
      – There are so many features that are on by default that many of them just get in my way so I have to disable them – billboards, clipboard history and the way too many templates come to mind here.

    45. David Martin says:

      I used to be a CodeRush user until my employer decided to require ReSharper due to its solution-wide analysis. It was difficult at first and I felt I’d stepped backwards. Now, a year later I feel the same way about moving to CodeRush. I downloaded it a while back to see if I still liked it better. So, in my opinion they are both great, and your comment about investment in learning one making change painful is spot on.

      As for the new release of ReSharper it does have some nice new features:
      1. Localization. I have R# set up to show strings that could be localized as suggestions. From the quick fix popup I can a) move it to a resource file, b) mark the string as verbatim (@), or c) mark the method, property, class with [Localizable(false)]

      2. Search by Pattern. This one is really cool. Visit
      http://blogs.jetbrains.com/dotnet/2010/04/introducing-resharper-50-structural-search-and-replace/
      for more info. Although I’m still trying to figure out more uses for it beyond the example shown in that blog post.

      In the end I feel comfortable telling folks to just pick the one they feel fits the way they work. They are both great products.

    46. centur says:

      I did tried both (CodeRush rather long time ago, I think v8.xx).
      Stick with Resharper for few reasons.
      Imho R# pros is:
      1. Really neat Intellisense.
      2. Code issues system notifies about many potential flaws. Its even more useful that code snippets – you just hit 2 keys and viola, you get code issue fixed, a null reference check or some other simple but boring stuff.
      3. Rich and easily customizable code formatting subsystem (allowed me to fit our pretty strict code style guidelines)
      4. Query comprehension aware (dunno about CodeRush)
      5. (personal one) Got license as prize and my neighbors also prefer Resharper – so its easily to help with something, when all your “fingertip hotkeys” also work on “that guy PC”…

      R# also have some cons:
      1. Memory hog\overal system slowdown. It’s hinder VS perfomance pretty noticeable. Can’t speak clearly about vs2010 but on my vs2008 it’s pretty annoying sometimes.
      2. Modal windows. They really bugs me. CodeRush have way much better experience with that.
      3. VS hotkeys replacement and its own keybinding. I cant figure what exactly bothers me, but I feel myself foreign to R# key mappings.

      CodeRush as far as I remember is very cool with their guides and tips – all that sexy dots and arrows, vertical guides, non-modal pop-ups etc. Its much more towards slick user experience than R#, but its lack some usefull R# tricks. The trial time I used it was pretty entertaining (but not very productive due to completely different ideology and keymappings). I thought about using IDETools (lightweight and free CR Framework) with some nice plugins + R#, but at that point they were incompartible on my system ( I heard about someone used both tools simultaneously, but doubt that that is good idea).

      I cant say I’m very happy with R#, but when I use some PC without it – its noticeable. Fast IDE but awful intellisense, no helpful tips, no code issues, code rearrange doesn’t work etc.
      So I prefer to have R# than not have one.

    47. Chuck Snyder says:

      Ok, which do you currently prefer, I don’t have either one, and don’t have the expertise, time, expense to try both out to find out which is (marginally) perferable.

    48. It was simple to pick at one time coderush worked with vb,c# and c++ and resharper did not.

    49. Don says:

      I use both, just turn on/off features of each that the other does better. Of course I am the guy will drink both Coke and Pepsi together to make a better flavor. 🙂

    Comments are closed.