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.
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.
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...
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!
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.
@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.
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.
for one, eclipse is cross-platform whereas visual studio only runs on windows.
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
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.
@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.
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.
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?
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.
- Eclipse vs. Visual Studio: What are the features in Eclipse that are not present in Visual Studio and vice versa?
- What are features of ANTLR that XText Does not provide?
- What are the differences between android studio and the eclipse version bundled with android SDK
- Eclipse Console - what are the rules that make stack traces clickable?
- Location of projects in eclipse that are not in the workspace
- What are the new features in Eclipse Galileo?
- What is the best and free Visual Editor that can be used in Eclipse to create GUI?
- What is the Visual Studio equivalent of the Eclipse import suggestion feature?
- How to remove with eclipse all the resources (images, mp3, xml) that are not been used on the app?
- Which are some of the PHP error detection and syntax highlight in Eclipse that aren't present in Vim?
- Plugin for Eclipse or Visual Studio that lets me see an overview of the Text similar to Sublime Text
- Eclipse shows error icon to me but do not tell me what the errors are
- How do I have access to external java files in eclipse that are not part of the project?
- Eclipse not implementing .class files that are provided, and not able to super those classes in the project
- What are the differences between plug-ins, features, and products in Eclipse RCP?
- What is the Visual Studio shell (standalone shell) good for?
- What are the gigantic *.CFS files all about in Eclipse workspace plugin folder?
- What are the shortcut keys to change to the next and previous tab in Eclipse on Mac OS X?
- What are the most important features of an IDE for Perl development?
- How do I search files in Eclipse so the results shows files that do NOT contain the search term?
- What is the best, free, subversion control repository that can be used with the Eclipse subversion plugin?
- Is in Visual Studio an equivalent to the Eclipse "Run Configurations"?
- What are the default Eclipse update sites?
- Can Eclipse use the same sdk that Android Studio (intelliJ)?
- How to avoid Eclipse importing a class when putting the class name in the comments, so that checkstyle does not complain later?
- "method is ambiguous for the type" but the types are NOT ambiguous (and the error comes by upgrade from eclipse 3.7.2 to eclipse 4.2)
- Eclipse cleanup - what are the ".index" files - can I safely delete them?
- Avoid the "no JREs installed in the workspace that are strictly compatible" warning in Eclipse for multiple Java versions
- Any way of working with Eclipse WTP that does not mean redeploying the _WHOLE_ application when a JSP page is changed
- What is the best free plugin for Eclipse that allows for formatting/indenting/cleanup of JSP code?
More Query from same tag
- How can I view only comments, functions and returns in a php file?
- Error occurs in third party library included Android project
- How to View Classpath While Debugging in Eclipse
- Why package name cannot be parsed in jar?
- Eclipse: What is this outline on top of the editor called? How can I change it's coloring or disable it?
- Eclipse plugin for code coverage
- JSDAI error: Dictionary data file is missing for schema
- Unable to resolve JRE: jdk1.8.0_121 (Standard VM) in dynamic web project
- font file not found in libgdx gwt web application
- Change Mylyn subtask hierarchy in Eclipse
- Making Http Get And Post Request
- Exception in thread "AWT-EventQueue-2" java.lang.NoClassDefFoundError
- How to call terminal commands from eclipse plugin
- Debugging node.js applications with Eclipse
- STM32 blink code only works when stepping on debug mode
- checkstyle: disable ++ warning
- Inconsistent behavior of Java Maven Modules in Eclipse
- In Eclipse I was successfully pulled my Code from Git, but I could See ">" without making any changes to my Local directory
- Is there any visual tool for writing Java classes in Bytecode for Eclipse or IntelliJ?
- Looking for an efficient way to update multi-dimensional arrays
- Eclipse import from git not recognizing source folders
- Eclipse - Android not auto-generating R class
- Trying to make a simple app with addition of variables, having some problems
- Automatically expand all in Eclipse Search results
- red editor eclipse with python interpreter incygwin
- Building Eclipse RCP application, running fails
- problem with eclipse
- Warning in eclipse tiles project
- PMD - Eclipse plugin - Not testing against any rules
- Can't find org.json.JSONObject