Eclipse vs. Visual Studio: What are the features in Eclipse that are not present in Visual Studio and vice versa? [closed] - visual-studio

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I keep hearing Eclipse is better than or way ahead of Visual Studio but when I installed Eclipse I felt it is very clunky and hard to use interface. So I want to know what is so great about Eclipse and if there are others who agree with me.
I also could not find a similar question that talks about the specific features about Eclipse and their comparison to Visual Studio.

Well,
I have been working with Visual Studio for a some looong time now :-) I have touched Eclipse ONCE long time ago.
and now...things changed in my head like a couple of weeks ago when I started developing a project for Android mobile platform..tell you what.... ECLIPSE IS BETTER yes..I've said it.
Don't get me wrong. I still love Visual Studio , I've developed many programs using it and it always will be my first love. HOWEVER.... automatic code generation in Eclipse MANY MANY GOOD HINTS it gives you while writing the code.. to place try's, make List not generic but type defined, etc.. analysing your includes ALL THE TIME and eliminating the ones that are not needed anymore, for example I've defined a private FLOAT variable of a class, made a constructor and all the Setters and getters AUTOMATICALLY just by pressing an option in a menu, when I've executed the constructor with a number of precision too high for a float type it automatically suggested changing the private type to double and done all the changes including return types etc:)
ECLIPSE is more like a programmer's companion than a dull REGEX based environment.

Last time I tried Eclipse (about a year ago), I found it to be dog slow. Autocomplete would take multiple seconds to bring up the list of possible matches, for instance. Other elements of the UI were also poorly responsive.

I just switched back to Visual Studio (was forced to) from 5 years of Eclipse (and Java), so I can make a list of what I miss in it:
Ctrl + Shift + T (Search a class)
Ctrl + O (search the functions of the current class)
Ctrl + right click on a variable/type/etc to go to its definition
Show type hierarchy of a class
Ctrl + Click on a function and go to its definition or one of its overriding functions
And the list goes on and on (refactoring in Eclipse is really good, you have lots of plugins like eclEmma, findBugs, etc).
I just find VS frustrating to navigate in the code, especially with large projects.
But maybe I just did not found these features in VS yet?

There are always things in one development environment that aren't in another, but at the end of the day it comes down to two things. 1) What one you prefer to use. 2) What one you can afford. Eclipse is free which is a very big feature for a lot of people.
You have them both installed so why don't you try one for a little bit, and then try the other for a little bit and make up your own mind. I can tell you what people will tell you is better.
If they use VS they will tell you VS is better, and if they use Eclipse they'll tell you that Eclipse is better.

#user168715 - There are a number of things that you can do to make Eclipse slower/faster:
If you don't give Eclipse enough memory it will be slower. It will spend a lot of time garbage collecting, and will continually be throwing out the cached information that would otherwise speed things up. These combine to make the UI sluggish.
If you run Eclipse on a project stored in a network mounted file system, it will be slower.
If you launch Eclipse from a network mounted installation it will be slower.
If you have lots of large projects open, Eclipse will be slower. This is largely due to the increased memory footprint needed to cache the method signatures etc used for things such as auto-completion.
If you run Eclipse on Windows, it will be slower than running on Linux/UNIX for the same hardware configuration. Linux/UNIX has more performant file systems, file system caches and virtual memory managers than Windows. And for a 32 bit platform, Linux can give the JVM more memory than Windows can.
EDIT - I notice that #ssahmed555's experience contradicts my last point ... but this is my experience.

Both Eclipse and Visual Studio are good IDE. They have their advantages and disadvantages so I am hesitant to state "X is better than Y".
However, there are some things that I really like about Eclipse:
Adding Plugins. You can add plugins in Visual Studio too but Eclipse seems to do it much better. Updates are much also easier.
Keybindings. I find keybindings on Eclipse to be a more intuitive and easier (Ctrl+Click on an identifier to go to its definition makes more sense to me than hovering over the attribute and clicking F12)
Eclipse has better refactoring tools out of the box.
Having said that, the language you are using will determine which is the more appropriate IDEA. For Java, Python, Ruby, etc, I would go with Eclipse since there are some really good plugins for it. For languages developed/maintained by Microsoft (such as C#, VB.Net, etc), I would go with Visual Studio since it will probably have better built-in support.

For me, in order to be useful, IDE should meet following requirements:
It should be possible to kill every damn toolbar and button, tab captions and so on in order to maximize working space.
Ide should support non-monospace font.
It should be possible to summon any window (file list, output, etc) with key combo and dismiss it with escape.
No pixel should be wasted on screen. No rounded buttons, no extra spacing between text and widget border are allowed.
It should be possibel to work without mouse, using keyboard only.
Any other functionality is optional, including autocomplete.
I.e. my working environment normally look like this. This is a most efficient layout for me.
Last time I tried eclipse (2..3 years ago) it couldn't satisfy #1 and #4. There were buttons that could not be removed, some interface elements were needlessly curvy and rounded and took extra screen space without real need for that. It also wasn't fast enough. I spent some time trying to fix those problems, gave up and lost interest. Maybe there were some deviously hidden options that could be useful to fix those problems, but I never tried eclipse again.
And I probably won't try it again, because my IDE works for me. I must admit, that although I don't exactly like Microsoft, their IDE (2008 edition, at least) is very close to perfection (it still has quite a lot of problems, though)
From my experience, there are two other editors that could be used as a VS replacement (on Linux) - jEdit and Kate. And if you can live with monospace font, vim is also quite useful.

Visual Studio and Eclipse are both excellent IDEs with a wealth of features. I've never found Eclipse to be particularly slow, although it will occasionally pause (I wonder if the JVM is garbage collecting). I haven't used the C++ plugins with Eclipse, but the advantage Visual Studio has is that it supports C++ as one of its "native" languages. If you are doing Windows development, you are probably best of with Visual Studio.
If you want to develop for other platforms, Eclipse is likely to be worth a second look.
I've developed plugins for both, and I recently wrote a comparison, here: http://geekswithblogs.net/cyberycon/archive/2011/05/01/eclipse-vs-visual-studio.aspx

For one, Eclipse is cross-platform whereas Visual Studio only runs on Windows.

Prior versions of Visual Studio didn't have very many customization (i.e. preferences) options. In that regard I've always thought Eclipse presented a wealth of options for tweaking preferences and customizing your setup.
But a cursory look at Visual Studio 2008 reveals that the MS IDE now sports a competing array of customization & preferences options. I suspect that VS 2010 is no worse in this regard.
One advantage of Visual Studio is that depending on the version/edition (Express, Professional, Team System, etc.) you have installed, in addition to the VS IDE and the compiler tools you'll get a plethora of supporting development, debugging, and platform tools. I am currently using VS 2008 Professional edition, and it has an extensive array of supporting tools installed on my system.

#user168715: the timer for auto-complete in eclipse defaults to that sort of behavior, but can be configured to have a faster response.
I primarily use eclipse but have used VS for a number of projects, in doing so the only things that stuck out to me are how quick the auto complete is in visual studio (I'd like to slow it down a bit) and when you have errors in a source file, eclipse places little markers on the right side of the editor next to your scroll bar. I like that feature and missed it in Visual Studio.
Small things like that are the primary differences, I don't think you will find many major features that are missing from either of the two.

Keep in mind I haven't used Visual Studio 2010.
Eclipse has faster and more refactoring options. Symbols can be renamed inline, and all instances of a symbol in a file are highlighted by putting the cursor over them. It has continuous and automatic background compilation (for Java anyway). Searching for references is faster as well. It has a "gutter" that displays errors and warnings for an entire file with easy navigation. It has an integrated diff tool, and I usually prefer Eclipse's source control plugins.
Many of these features are provided by ReSharper, but that is a commercial product.

This depends on what type of projects you are using your ide for.
For example if you want to write a C#/VB project, the Visual Studio has everything you want, code completion, refactoring, etc, while eclipse uses a plugin that just doesn't do it Looking for up-to-date eclipse plugin for C#
But if you are writing a C++ project things change, without Visual Assist, Visual Studio offers very little, a fast autocomplete that never works, no instance highlighting, doesn't even highlight brackets and parenthesis, it is almost the same as using notepad++. On the other hand Eclipse offers all of this, at the cost of more computing resources, but on a 2.0GHz dual core with 2 gbram I almost never had to wait for anything.
Also at the company I work for most projects are c++, we switched to eclipse and found that most of the developers are more satisfied than with VC++ and consider the money savings :D
And another thing, that makes a very big difference between VS and Eclipse are the plugins, I find that Eclipse has tons of handy free plugins while VS only a few, and the ones that I find useful like Visual Assist are paid.

My personal experience with Eclipse and VS is that VS is a more structured environment, every feature "Works right" there are no incompatibilities between plugins, and the "anoying" factor is not present in VS, no bugs. I have to say I love VS because of the intellisense too, it makes more sense and works without work, is right there. The autocomplete in eclipse, is not as smart as the intellisense in VS and there is a huge difference, in Eclipse if you want to get it working like in VS you will need to "feed" Eclipse with information regarding the functions and things related to the actual programming language (PHP case). I program Visual Basic in VS and I have tried Eclipse programming Php. I have not seen how Zend Studio works, I got a trial of Zend Studio before but I was not able to get around it to test it for about a month, so when I finally got to it, the free trial expired, what the flagnards!!. I am thinking in giving it a try, I have noticed that it has gone down in price, that is great, but on the other hand if anybody wanted to use VS they could use the Express edition that is for free, There are no excuses. Reason why I can say that VS is also a more ready and available IDE than Zend Studio. But we are talking about Eclipse now... Hummm VS is a better IDE than Eclipse.

Eclipse can be very messy and unpredictable when working on dynamic web projects due to its annoying interaction with Tomcat Server which fails 73% of time. Visual Studio has IIS server built in it and the user does not have to manually install a messy server like apache tomcat. Eclipse also takes like forever to load workspace while VS has everything well organized to load fast. With Visual Studio everything is straight foward unlike eclipse where u have to keep on configuring settings from its disorganized menu, for some features to work.

Once again I've ended up on this page looking for a way to make Visual Studio more like Eclipse. Specifically the problem of indicating errors that exist in your source file. Eclipse has a marker bar down the text panel which flags errors, warnings, todos and notes. Clicking on the marker jumps you to that location in the file. It's a really simple widget that takes hardly any room, gives tool tips in the markers and is built in to the Eclipse IDE.
I was so peed off with Visual Studio I wrote a blog article all about how bad Visual Studio is. I have 24 points so far!
http://www.bigsoft.co.uk/blog/index.php/2011/08/19/come-back-eclipse-all-is-forgiven
There are a couple of Visual Studio plugins that will do it but i haven't found one that is free yet.
Basically everything that is in the Resharper Visual Studio plug-in (code inspections, automated refactorings and coding assistance) already exist in Eclipse and is built in, whereas the Resharper plug-in costs £272 (at the time of writing) making Visual Studio (£800-1200) a very expensive solution.

In Eclipse I really like:
"Find type" window (ctrl+shift+t) - you just type the name of a class and you can go to its definition. I think this boosts productivity a lot.
Very good auto formatting of code (just press ctrl+shift+f)
Last time I used VS (something like 2-3 years ago) I couldn't find these features. There was auto formatting feature but somehow it wasn't working as good as in Eclipse.
EDIT:
There is actually one thing that I found better in VS. It has a very good built in visual GUI designer. In Eclipse you have to use plugins to have it and what they provide is usually far behind what GUI designer in VS provides.

Eclipse is something that might require a little training to get the hang of it
To me, the best thing about eclipse is the MYLYN plugin which makes life so much simpler, give it a shot and you'll be its customer for life.

It depends if you compare vanilla VS with vanilla Eclipse. If that is the case, Eclipse blows VS like piece of paper. But if you install Resharper on VS that is completely different IDE.
But ReSharper is commercial, as some versions of VS, so I will have to give my vote to Eclipse, even thoe I am mainly .NET developer...

Related

Overlay graphics (aka adornments in VS2010) in VS2008

I'm writing an add-in for both VS2008 and VS2010 and I'd like to have graphical enhancements that appear on top of the code (similar to Resharper/CodeRush). Doing so in VS2010 is relatively easy using adornments, however, how do I do it in VS2008? Anyone knows a good resource/article for something in that spirit?
I know that DXCore (CodeRush) allows one to do it, however, due to license restriction (I can't bundle DXCore with my addin) I am unable to do so.
Thank you
I've ended up implementing it by myself.
The general idea is to make a transparent form (Winforms or WPF), put the adornment you want in that form, and then overlay the form at the position of the code.
Since the editor was completely rewritten between 2008 and 2010 the technique for this is going to be totally different and it seems unlikely that now, 6 months after 2010 has launched, is a good time to start writing something for 2008, especially something difficult.
That said, a great source of sample code for editor extensions is http://code.msdn.microsoft.com/vsx. This is from the VSX team and has been very helpful to me while working on extensions.

Can Delphi 5 generate a .PDB file that VS can use?

We've got this large application written in Delphi 5, and development is ongoing to this day. There is research going on into migrating to newer versions, but so far there is no success, as some 3rd party components have not been updated in ages and do not work on later versions.
In the meantime however people need to continue work on it. Now Delphi 5 IDE is no real treat. It's pretty bug-ridden and lacks a lot of features of contemporary IDEs which makes it difficult to use. Especially when it comes to debugging.
So I was wondering - would it be possible to use Visual Studio in the process? As far as I know the .PDB file format is pretty old and is well documented. Could it be possible to make the Delphi compiler to somehow generate a .PDB files for it's compiled results? Then the program could be debugged with Visual Studio, possibly to a much greater extent than in the original IDE.
Well, the absolute Holy Grail would be to move all development to VS, just keeping the compiler from Delphi, but I imagine that would be pretty impossible.
No, and neither can any other version of Delphi. You can use Map2Dgb to turn a detailed map file into a dbg file, though, and you can use that in WinDbg.
I'm curious what debugging features you're expecting to use in Visual Studio that aren't in Delphi 5 and that also don't rely on the IDE understanding the Delphi language. I was always rather pleased with Delphi 5.
BTW, you can vote for this feature here.
Note, that VS-compatitible debug info will be useful not only for debugging application (I agree: it's better to use Delphi), but it will be useful for using tools like Process Explorer. For example, Process Explorer may be able to show human-readable call stack, instead of RAW numbers.
I've tried tds2pdb and it works great for me.
Apparently you can't. Seems that PDB is after all a propieritary Microsoft format without documentation, and as such there are no other tools generating it. Pity. :(
I would recommend moving to a later version of Delphi. We have done this with various applications for clients. Moving to a newer version of Delphi is normally straightforward, but there were issues moving from D5 to D6 due to changes in the way components were handled (design time code being separated from run time) and the change to Unicode in D2009 was a bigger change.
The main thing is to sort out the third party components. We only ever use third party components that come with source so if the worst happens and the vendor disappears, we can still work on the components ourselves.
Which components are causing the issues?

Is Visual Studio 2010 beta 1 usable?

I saw that Beta 1 of VS2010 was publicly availible.
My question to those of you who has tried it is: does it work good?
Will it cause my computer to blow up in tiny pieces? Will it crash randomly? Will it work with some minor glitches? Or is it just perfect from bottom up?
I'm only coding school- and hobby-stuff, so nothing that someones life depend upon, but i still want software that works. How close to a final product is it? Is it worth trying?
It's a bit slow, and there's no offline MSDN, but it's worth trying IMO. Having said that it's slow, I still use it on my NC10 netbook, so it's clearly not that bad :)
I've got it side-by-side VS2008, and that hasn't caused any problems.
I've seen a couple of glitches (once the keyboard handling went completely wonky) but it's certainly usable. The main question is what you want to get out of trying it - in my case I absolutely need to code against C# 4 to explore the new features. I do most of that from the command line in fact, where the speed of VS obviously isn't an issue, but it's nice to see the VS-specific features as well (like the debug threading views for Parallel Extensions).
It seems more or less usable on the .NET side. The C++ side is a bit more sketchy. On one hand, they've added support for some very nice new C++0x features, on the other, they've broken some absolute fundamentals.
Your plain old main function won't compile in 32-bit with unicode enabled. (Workarounds: Either compile as 64-bit, disable unicode, or rename the function to wmain).
This seems to me to be a strong hint that the C++ side of things is nowhere near release-worthy. I'd probably wait for beta2 before doing any serious work with that.
I would say it is great, but the performance hurts a bit.
Here is an idea for you: Install it into a VirtualPC. Then you can play and not care what it does. You don't like it, delete the VPC image and keep on trucking. That is how I play with Microsoft betas now. I never install them on any real machine - too risky.
Usable: Yes.
Recommended: Not if you'r a touchpad-addict or dislike crashing apps.
I've been trying it for 2 weeks now coding small C#-projects and these are my impressions
Reasons to use 2010:
Looks good
Multi monitor support
I can see myself using the code templating but right now i couldnt find any really useful stuff except for reducing the fontsize of comments.
Zoom in the editor
Select a variable and then press shift+up/down to go to next usage of this variable
Ctrl+, brings up instant search of classes and functions in the entire project. (i've become really addicted to this)
Floating watches for single objects
Reasons to not use 2010:
TOUCHPAD SCROLL DOESN'T WORK IN THE EDITOR!!! (this is reason enough to not upgrade if you are using it on a laptop)
I've had some random app-crashes in the middle of just writing code, once or twice per day maybe.
UI sometimes freezes randomly for about 30seconds and then returns to normal.
It started to use 100% CPU power from one of my cores once when it was minimized in basic editing-mode and i was doing other stuff in other programs, i only noticed it because the fan started to go wild.
Otherwhise it's pretty similar to 2008. I haven't noticed any difference in speed like other people say.
You need to ask yourself: what is the advantage for you in using VS2010 over VS2008? I would suggest that there is no advantage if all you are doing is "school- and hobby-stuff".
I'm still using VS2008 for business related stuff (and, indeed, VC6 for some stuff). I prefer to wait until all the early adopters have tested it (and Microsoft has released at least one service pack after the real product release) before I do their testing for them.
It seems to co-exist with other versions of VS without causing any problems.
Regarding the slowness - it seems to be the UI that is slow, rather than building. Once it's going it doesn't seem much slower on my fast quadcore. I've yet to try it on my laptop.
It's usable enough, the small glitches that I've encounter weren't that bad. However, certain VS extensions(like XNA) don't work in VS2010 at the moment.
It's fun to toy with. Not usable for me, cause re#er does not support it yet (had to install TestDriven .NET which works through keyboard shortcuts only to run my tests).
Gave me an insight how addicted I am. :/
Btw, on Win7, without virtual pc it seemed even faster than vs2008 for me.
VS2010 doesn't yet support mobile device projects, which might or might not matter to you.
VC++ wise - VS2010 has a built-in 64-bit compiler, VS2008 does not.
You can supposedly add 64-bit support to VS2008, but it takes some effort.
I've been using VS 2010 beta (with .NET 4.0 beta) on Windows 7 RC. I've been trying to rewrite parts of a large-scale business application in it to see what can be done with it.
The UI freezes frequently. I'm talking 1-10 minutes between freezes. The UI does not come back, so I'm forced to kill devenv.exe every time it happens. Microsoft probably puts my error reports in their spam folder by now.
For me, VS 2010 beta 1 classifies as unusable. However, it's fast, the new IDE functions are very handy, and it's pretty. I keep coming back to it despite my resolutions to wait for a stable build.

Is Visual Studio also a good IDE for non .NET languages?

I'm a bit in IDE trouble, and I'm not alone I have noticed, still I haven't found an answer on many of my questions.
I would very much stop using different editors and become very good at one (on windows), adhering the pragmatic adage : "Learn one editor (ide) well". I' m willing to put in a lot of effort, to gain on the long term.
I have programmed (java) with Intellij and Eclipse, and am progamming c# now. (VS08 was at first very disappoing for me, till so at SOF mentioned Resharper and now I'm very happy with it, especially since I started writing macros for further adjustments)
For all purpose editors, VIM and EMACS come to mind, but I'm afraid they just cannot compete against VS08/Resharper when it comes to C#, which I'm using a lot on this moment. Further, it isn't clear to me if they support refactoring (after installing packages for the language in question?)
But since VS08/Resharper is so powerfull for c#, I would like to give VS a serious chance. But for that it should have support for langauges that don't compile to CIL.
hence my question : Is Visual Studio a good tool for non .NET languages?
(and like asked on the side : how about refactoring in VIM/EMACS?)
VS is IMO, better then average editor but not something you can't live without.
If you like your editor to open as fast as Notepad with bunch of features, try EditPlus (on the down side it uses older RegExp implementation but on the plus side it can be made to be portable.
If you would like total extensibility, fast startup, inovative fatures, integrated reposity etc.. try E-Editor, windows port of Mac TextMate.
VIM is ofc superb, but ... long learning curve may be a problem and some people can't find themselves in 2 mode editors.
About Resharper... mhm... almost all of its non-code analytic features may be integrated in mentioned editors. For its suggestive features I doubt there is alternative. I disabled it for the moment because I tend to let Resharper fill in my holes so it can be a double bladed sword - sonner or latter I will totally stop thinking about some things like, can this variable be null or can I move its declaration. I run resharper once I finished some working procedure or at the very end to polish the code.
I personaly use EditPlus for all of the NON MS languages, but E-Editor got my attention recently.
I tend to avoid using IDEs outside of the languages they are designed. A dedicated IDE can include class libraries, function references, code completion utilities, etc. out of the box.
Once you step outside that, however, you have a clunky and resource hungry text-editor. You might as well use a text editor in that case just to keep your workstation nimble.
It might be better not to learn one IDE well, but rather a text editor. I've used jEdit for years for several reasons: It's multiplatform, includes syntax highlighting for lots of languages, and can be feature-extended with plugins. It's become one of my standard tools, but it's only one in the box.
How about VI mode for VS? I think Eclipse has one too.
You'll just have to learn vi-related commands, but will be able to work in, C# (with VS), Java (with Eclipse), C++ (with VS or Eclipse), scripting languages (with vi), ...
"I would very much stop using different editors and become very good at one (on windows),"
Why?
"adhering the pragmatic adage : "Learn one editor (ide) well". " Really? How is this pragmatic?
After 30 years in this business, my lesson learned is "tools come and go."
Once upon a time we had big fights over vi vs emacs. Not vim with syntax coloring, but plain-text-vi on black-and-white monitors.
Why narrow your world to one tool? How will you cope with innovation if your tool is not the new state-of-the-art?
As far as C/C++ goes, Visual Studio is considered the gold standard (well, Visual Studio + VAX if you really want to get specific). It's not perfect, and it's certainly not as good as the C# tools it has, but it's still a damn sight better than anything else out there, on any platform. (Assuming you didn't want C99 support.)
Of course it doesn't really do non-.NET other than those two.
I think that there is good specialization at the moment. VS is the clear candidate for .Net, with Resharper and DevExpress as great augmentation for increased productivity.
Currently we use Aptana for the "Web 2.0" stuff - CSS/jQuery/MooTools, and that has been a great environment as well. I have avoided the Intellisense in VS 08 for jQuery and do prototyping in HTML/CSS/JS in Apatana, then do all the Domain design in VS. Works for us pretty well.
It is good for C/C++ but it is not comparable with what you get for C# or VB.Net ( i don't think it support other languages )
for javascript intelisense is still limited

DevExpress Refactor Pro vs JetBrains ReSharper

In my department, we are currently using ReSharper 4.0 and deciding whether to upgrade to 4.5 upon its release next week. I personally am a huge fan of ReSharper however a number of my colleagues have pointed out that they have been using a plug in from DevExpress called Refactor Pro that performs similar functionality.
http://www.devexpress.com/Refactor
http://www.jetbrains.com/resharper/beta.html
Has anyone previously compared these tools and hold any strong views on which tool would give us the greatest increase in productivity and why?
In my department, we also use ReSharper. Today, I installed 4.5, but had already used 3.something, 4.0 and 4.1 before. It really offers many great refactoring and code-writing supporting functions, renaming methods and functions, reordering parameters...
What I really like is that according to your corporate code style, you can configure ReSharper to give you hints on style violations in different severity levels (and quickly apply according changes, like MS StyleCop, but much easier to configure and more subtle).
My absolute favorite feature is Class-Searching by entering only the CamelCases, i.e. you type TSHWLOV and ReSharper will know that you mean the class from some referenced library named 'TerrificSearchHelperWithLotsOfVoodoo'.
Last year I have tried the DevExPress CodeRush/RefactorThis-Alternative, after I was quite impressed by the things that Oliver Sturm did with it on BASTA Spring 08.
The interface catchier and more impressive than Resharper, there are huge arrows flipping around your IDE and things like that, though the core functionality is rather similar.
I had the feeling that CodeRush is more focussed on code creation than on refactoring, i.e. more shortcuts for tasks like creating variables etc.
My favorite feature there was a sidebar, which always shows you all keyboard-shortcuts available in your current context. This makes you learn those commands quickly, where in ReSharper you have to look up most of them in nested submenus.
Both suites are really powerful and it after months of using them you will probably still discover new functions, which you have always needed without knowing it.
However, I decided in favor of ReSharper mostly because of I was more familiar with it and DevExpress was using much resources on my notebook and occasionally even slowed it down. By now, I use a much more powerful machine again, maybe I will give it another try soon.
I personally prefer CodeRush.
I find R#'s interface drives my (admittedly minor) OCD tendencies crazy. The little lightbulb insists on appearing on the far left of the screen, even if it's advice pertains to something in the middle or on the right. I find it garish and distracting.
By contrast, CodeRush's equivalent smart tag is lower contrast and smaller. It is therefore capable of locating itself within the code without distracting from said code. I find I can ignore this SmartTag when I need to, and it is always right in front of me when I decided I need it.
It is mainly this, that has prevented me from wanting to explore R# any further.
As far as CodeRush's feature set: Code Analysis, Refactorings, CodeProviders, Templates, TabToNextReference, QuickNavigation and many more.
I especially like CodeRush's extensibility which has allowed myself and several others to create many plugins for use within it. (http://code.google.com/p/dxcorecommunityplugins/)
CodeRush also has some top quality support and a very active community of users.
Certainly neither R# or CodeRush will suit all users. Every one has their own preferences. However, if you've not tried both, you should certainly do so.
If you come from the R# side of the equation and are looking to test out CodeRush, then you may find the compatibility plugin useful (http://code.google.com/p/dxcorecommunityplugins/wiki/CR_ReSharperCompatibility)
In addition CodeRush has a Free edition 'CodeRush Xpress' which Microsoft commissioned DevExpress to create, and which they have licensed on behalf of every user of Visual Studio 2008. This partnership will continue into VS2010 upon it's release.
If you have any questions regarding CodeRush you can find details for contacting me at the bottom of my community wiki page.
I should say that I do not work for DevExpress. I am what you might call a DevExpress MVP. To maintain this position, I answer questions in the DevExpress forums (and nothing else).
Everything I say is my own honest opinion.
If you have any questions, feel free to contact me :)
I'm using DevExpress which has a lot of "hidden" functionality, so you need to read the manuals to know how to activate some of the functionality. I find it very passive and subtle.
I used ReSharper and found it buggy and very invasive in my coding style. Bracket-closing drove me nuts, it ignored my preferences and couldn't cope with how I write my lines of code - which may not be most efficient but it's one of those things that ain't gonna change!
I've tried both, and really didn't get along with ReSharper. I found it to be just too intrusive for my coding style. When I switched to CodeRush / Refactor! it was like I'd found the perfect aid to my productivity. The refactorings are, for the most part, exactly what I wanted to see from this kind of product.
It is, however, horses for courses and you may well find that you prefer ReSharper. The best advice I can give is to try the other products and see which you prefer.
The only correct answer is to use both, of course! I do. You need a beefy laptop though. If I had to choose only one, I'd choose ReSharper... I think the static code analysis is a lot better.
ReSharper has a lot of great features, and DevExpress has a lot of great features.
When you put the two together, you end up w/ whole lot of AWESOME.
You need to jump through a few hoops to make them play nicely together: http://frazzleddad.blogspot.com/2010/01/making-devexpress-resharper-play-nicely.html
R# 4.5 is a free upgrade if you have a 4.0 license. So I'd suggest to get and use it - changing the "productivity tool" is always a pain because you'll have to get used to different ways, keyboard shortcuts etc. of doing things - no matter how good the tool actually is.
I have a personal copy of Refactor Pro but I use R# 4.1 at work with the StyleCop add-in as that is the team standard tool. I like RfP's arrows and code positioning stuff which is better than R#. Otherwise the tools are very similar.
However, at this time, its the StyeCop add-in that swings it in favor of R# for me.
Cheers
Benjy

Resources