How to optimize Eclipse? - eclipse

I code both Spring MVC and also .Net stuff, so I can have Visual Studio and Eclipse (STS) running on my Windows x64 machine.
What I've noticed is that the Eclipse seems really slow on compiles and a lot of other functions, whereas Visual Studio seems pretty quick.
Even more noticeable is when I look at the Processes in Task Manager, Visual Studio is taking up 200 Meg while Eclipse is holding on to a Gig of memory!
I don't want to be an Eclipse hater, since I think it has some really good features, but can anyone suggest how I can make it more efficient, or am I stuck with this sluggish IDE? I've been thinking of switching to IntelliJ, but wanted to see if it was possible to tweak Eclipse to speed it up first.

Some pointers that could help :
Make sure you are on 64 bit JDK and Eclipse to leverage your system.
Use the latest version of Eclipse. Indigo is what I am on currently.
Uninstall un-necessary plugins.
Try creating working sets and arrange your projects. Close down sets which you are not working on.
You can try switiching off Build automatically, but that would not be a great idea to catch build errors immediately.

The best advice is to install just as much of Eclipse as you need and not a plugin more. Eclipse platform and Java support is extremely light-weight and performs quite well. It's when you add other plugins (written with varying degrees of quality) is when you start having problems.

Related

Netbeans 7.3 annoyances

I recently switched from Eclipse to Netbeans 7.3 and experiencing a lot of quirks and i'm wondering if anyone else experienced them and/or got a solution. Because of these 'problems' i'm considering switching back to Eclipse again but i'm in doubt because NB has a lot of good things too !
These are the quirks:
when creating a new Java class, and make some typo's e.g. somewhere in a method, NB does not recognize / display the errors directly, but after a very long wait or a restart of NB.
This also happens to existing classes.
background scanning tasks is sometimes stuck at 100%
code completion does take forever. Don't even think about refactoring or renaming a class because it takes >3 minutes to scan the classpath (why, it's a new class for crying out load)
hot-deployment: changes are not always synchronized correctly with the (Glassfish) server.
Sometimes a complete undeploy and deploy is needed to reflect the changes made in the source.
NB manipules my pom.xml and glassfish-web.xml: it adds a deploy hint to the pom.xml and also changes or removes the context-root in the glassfish-web.xml. Please stop doing this!
Why o why can't i do a 'Fix imports' on my entire project. You can do a 'organize import' on the entire project, but this won't add the missing imports. See http://netbeans.org/bugzilla/show_bug.cgi?id=167031#c2
Running NB 7.3 on Windows XP, 3GB RAM, 2+GHz cpu
The project is a Java 7 maven project containing 12 modules / sub projects
I strongly recommend that you DO NOT attempt to install the ScanOnDemand plugin. It completely trashed my Netbeans, forcing me to use the Task Manager to kill the process. No existing projects were found; they were all listed as "unrecognized project; missing plug-in?". I had to re-install Netbeans.
One thing to look for is max heap allowed. Try adding "-J-Xmx2000M" to the Netbeans startup.
ref: Setting Heap Size
I suggest stick to your favourite IDE. Eclipse is still popular and Juno packages are doing good and Kepler is already available. You can try around latest packages.
IntelliJ IDEA looks better than other Java IDEs (light weight, faster, nice integration with SCM(source configuration) tools, possibility of easy cloud deployment, except that if you have freedom to choose your IDE whether you are part of a big/small teams, Otherwise there is no need to shift from one to other.
IntelliJ is the first IDE to give nice in-built support to Play framework
Google Android ADT is completely moving towards AndroidStudio based on community version of IntelliJ IDEA for faster and better GUI and app development.
As a Java developer it is not bad to try the other IDE to do some experiments or for any reason it strikes your mind.
Eg: Netbeans comes with sample apps in Java EE,Java7/Java2EE which looks better, nice examples for websockets, Servlet3.0, NIO examples etc,...but just try it or just ignore if it does not work. It is very easy to generate Entities from Database Tables, creating REST Endpoints in NetBeansIt may come with lot of in-built plugin-support for various java frameworks like RESTful webservice frameworks, JSF2.x, Primefaces3.x, SpringMVC, Struts but you may not sure to use the same version of framework. Some plugins may not work sufficient according to your business needs. Even if you okay with existing version it is not very friendly to develop Rich real-time UI development because Netbeans with Primefaces, instead you need to manually create XHTML templates.
Netbeans comes with nice support for Glassfish and tomcat, (other servers I am not sure but support is in-built). You can remote deployment with ease. Netbeans learning tutorials on JavaEE nice for beginners in the subject.
Netbeans also available as zipped bundle, hence no need to install even on Windows machines.
Eclipse has got better support with Java RoboCode learning tool (initiated by developed by IBM long ago.).
Also Netbeans comes with nice support for HTML5, Groovy, PHP, C++ as well (according to posts by users community, because I did not use them).

ColdFusion dev in Eclipse vs Intellij

Getting thrown into ColdFusion dev at work and just starting out, I wonder if there are any advantages (or disadvantages) of using Eclipse vs Intellij. I'm used to working in Intellij on Groovy/Grails and have close to zero hands-on time with Eclipse. The shop I'm in mostly uses Eclipse (I think because it's free and not much else), some use Dreamweaver (1 person me thinks).
Thanks in advance.
I'm a CF Developer that has been playing with intelliJ of late! I must say I do love the smoothness of intelliJ. IntelliJ does has have a CF code library ( http://plugins.intellij.net/plugin/?id=3571 ).
I don't use Eclipse for CF Development, but do use CFBuilder, which is based on Eclipse.
I personally prefer intelliJ as an IDE, but prefer CF Builder when working with CF.
There are two options for working with Eclipse for ColdFusion Development:
cfeclipse - an open source, free plugin for Eclipse
cfBuilder - the 'official' IDE, sold and distributed by Adobe.
There is also a plugin for IntelliJ which I have no personal experience using however I note that some highly respected CF devs are using it and preferring it to the Eclipse-based options.
My team and I currently use CFBuilder 2 and find that to be good enough for our needs. The biggest criticism I see about CFBuilder/Eclipse is that it can perform poorly on older PCs and the common solution is to increase the RAM available to it.
The benefit my team finds with CFBuilder is that the full Eclipse plug-in ecosystem is available giving us bundled options for source control and other development tools. (The same may exist for IntelliJ but I have no personal experience with it.)
Dreamweaver, especially a recent version, is an option and many CF devs swear by ColdFusion Studio which is a very old program and might be hard to get your hands on. Finally, there is also a plugin for Notepad++ for the times where you need to make a quick edit to a file and don't require a full IDE.
The editor that a lot of people have been using for ColdFusion lately is SublimeText 2 (http://www.sublimetext.com/2) with the official ColdFusion Package (https://github.com/SublimeText/ColdFusion). The link I posted below from Nettuts will help you get up and running with the PackageControl package that makes installing the ColdFusion package very easy.
Sublime is lightweight, powerful, and a pleasure to code in. It has small animations that make it feel responsive, and the birds eye map view of the code can be very useful. It even has some code insite that I find really helpful.
Heres a great post on Nettuts to get you started: http://net.tutsplus.com/tutorials/tools-and-tips/sublime-text-2-tips-and-tricks/

IntelliJ vs STS (SpringSource Tool Suite), what am I missing by using one or the other and can I make them feature equivalent for comparsion?

I've been using STS (just started to use and learn it slowly) but some users here where I work use IntelliJ. I was wondering what exactly STS comes with that can make it better/easier to use vs. IntelliJ and vice versa. Also I was wondering if there are any plugins or ways to make IntelliJ feature equivalent to whatever could be possibly missing vs STS and vice versa so I can do an equal and fair comparison.
Thanks!
Edit,
I will say that STS takes AGES to load vs IntelliJ for some reason so if someone knows how to tweak STS to open faster I'd love to know. Even on this new MBP 15" with i7 and 4GB of ram it feels way too slow opening up and is excruciatingly frustrating when it hangs.
It's 2016 and STS has come a long way. I favor it over IntelliJ for many reasons. Some are Eclipse specific and others are pre-packaged with STS (but can be installed into an Eclipse distro).
The most valuable is the Quick Text Search. STS will index all the text in all files in your project. Ctrl+Shift+L opens the dialog and you can type any text in the bar. All occurences of the string instantly appear across all files.
I like the ability to organize imports in over IntelliJ and greatly favor the look and feel of the IDE. I've used Eclipse/STS for much longer than I have IntelliJ so I am a bit biased here.
The ability to natively handle different file types and frameworks is IntelliJ's greatest strength. I work on Grails projects from time to time and support for the latest and greatest with Grails is non-existent anymore within the Eclipse/STS family, whereas IntelliJ provides good support.
BTW: STS is free(!) whereas you can't even buy IntelliJ anymore. You merely lease the software for a year under their new subscription model.
Go to Window->Preferences->Validation
Uncheck what you don't need. That will speed up the loading a bit.
Modify eclipse.ini to set the Xmn(new generation size), Xms and Xmx, enable parallel GC
-Xmn128m
-Xms1024m
-Xmx1024m
-Xss2m
-XX:PermSize=128m
-XX:MaxPermSize=128m
-XX:+UseParallelGC
I used STS for around 2 years, and recently tried Intelij [Community] for spring web development.
I found IntelliJ much better in
performance
usability
features
Keyboard shortcuts save a lot of time (No need to use a mouse at all)
File formats supported
Debugging window
But web development and spring development is not supported in community version of Intelij, so you need enterprise version, which costs a lot [At least for Indian customers]
So, for spring development I always prefer STS and for other development (I work on Vertx as well) I prefer Intelij
I have used both STS and Intellij community edition.Here is my personal experience.
Intellij has more handy shortcuts than STS
Auto completion feature of intellij is awersome (not my priority)
Itellij has caching issues.(Major and critical). You may need to restart the IDE by clearing the cache. I have never faced such issues in STS.
Some provided plugins does not work at all (e.g Smart Tomcat).Where as STS never fails here.
I felt intellij slower than STS.
Every time I restart intellij it starts indexing which I really dont like.
When I try to import multiple projects each opens in separate windows.When you try to import as module certain configuration does not work.
All the above listed points are from my personal experince. One may disagree with this. As of now I would choose STS over intellij.

How do I create an automated task in Eclipse? Maybe a plugin?

Using Eclipse 3.5 (FlashBuilder), I'm doing a bit of AS3 work.
With the in-house MVC framework I'm using, When I create a view - I need to make a change to quite a few files.
Its a simple process but its tedious and would work absolutely fine using some sort of automation.
Is there a plugin that allows me to do this? Monkey doesn't want to work anymore.
There doesn't seem to be any macro plugin out there. There wasn't in late 2008.
And the Practically macro may not be fully compatible with Galileo or Helios (3.5 or 3.6 Eclipse).
That leaves you only with some process which could involve external tools (Emacs), or Emacs-Eclipse integration, like a emacsplus (not tested, may also not be compatible with recent Eclipse edition).

Why Aptana when they are based on Eclipse?

I'm not sure if I'm missing something. If Aptana is entirely based on Eclipse, why would anyone choose it, when they can get the original Eclipse (especially that the Eclipse development is not lagging in anyway)? I understand why/benefits Aptana started their project, but why would I use theirs instead of Eclipse? I don't know much about this IDE and I'm still trying to choose, so maybe I'm missing something that's obvious to the rest.
NetBeans isn't based on Eclipse -- it's from Sun, who traditionally haven't been a supporter of Eclipse (look at the names).
Aptana is a helpful packaging of a variety of useful web and scripting development tools. The nice thing about Aptana is that you just download it and it works. Aptana also provides a commercial version with a variety of additional features.
You may also want to look at Genuitec's MyEclipse, which packages up a variety of other components and provides some support for minimal cost.
I think they come with proprietary plugins that you can't necessarily get with a stock install of Eclipse. Same with the Zend IDE. You can get most of the same functionality with Eclipse but you have to install it yourself and you get no support that way.
Netbeans is not based on Eclipse.
As has already been stated, Aptana simply provides a nice set of plugins that work together to ease development. That's one reason to use it. Not only do you get the advantage of the Aptana plugins, but you get the Eclipse platform itself, which is still extensible, even beyond what Aptana does.
I have another reason as well: I run a dual boot system, XP/Ubuntu, and for development I like to use the same software in both OS's. I ran into problems using PHPEclipse on Ubuntu, so I switched to Aptana.