I personally use CodeRush in Visual Studio 2010 to do refactoring, write code faster with templates and generally navigate my code 10 times faster than stock VS.  Recently, I've been working on another Android app and got to thinking...What are the top productivity plugins for Eclipse?Preferably free. I'm looking for plugins that help write in Java, not PHP or Rails or any of the other languages Eclipse supports.
What are the Top Developer Productivity Tools/Plugins for Java in Eclipse?
java;productivity;tools;eclipse;plugins
Mylyn is a very widely appreciated plugin for Eclipse, and is available on the main Eclipse site now. It can watch the pieces of code that you work on together (for example, when changing tax calculation code, you tend to use the same five files) and then emphasize them the next time you work on the same task. It's a great way to undo the information overload you get when working on a large project.FindBugs for Eclipse will help you save time by analyzing your source code for potential Java bugs. It has a false positive rate, and you wouldn't want to run it each build, but it's a great process to go through.Eclipse's own refactoring and navigation features will save you time as well. My favorite feature of the JDT is the Quick Fix. When you have an error in your source code (you can use Control-Period to navigate to it), simply do a Control-1 for the Quick Fix operation. It will give you a list of ways to fix the error. For example, if you write a = foo(s), but a is not declared, one of the Quick Fix options is to declare a. Eclipse will look at the return type from foo and use that for a, automatically adding any imports. With this style, you will find you write code with errors intentionally, because the Quick Fix route is faster!My other favorite Eclipse shortcut is Expand Selection To->Enclosing Element (Alt+Shift+Up). This takes where your cursor is and then selects the element of the parse tree you are on. When you do it again, you move further up the parse tree. This is great, because you can select an entire expression easily, not having to worry about selecting the code before or after it. That makes it much easier for you to have a valid expression in order to perform the Extract Local refactoring.JUnit is indispensible if you are writing unit tests, and it's well integrated with the environment and process.If you do any work with GWT, then Google's GWT Eclipse plug-in is nice. You can even use it for working with any Tomcat application, not just a GWT one.All of these tools are available free.