问题
Possible Duplicate:
A tool like ReSharper, but for Java?
I make very heavy use of the Java code refactoring tools provided by Eclipse (extract interface, rename method, etc.). Does anyone knows of other similar tools (preferably Eclipse plugins) that can perform Java code refactorings that are not available in Eclipse by default, or that can perform the same refactorings better?
I'm aware of various Eclipse plugins that can identify code in need of refactoring (e.g. FindBugs, UCDetector), but I'm looking for tools that can actually do the refactoring.
回答1:
RefactorIT... Is available as standalone product and Eclipse plugin. Only con is that for non-open source projects you are limited to 50 classes (but can get around that by splitting into multiple Eclipse projects, and using dependencies). RefactorIT also has code generation tools, like 'Encapsulate Field', where you select (multiple) fields in the package view (wherever) and it automatically creates getters and/or setters, also same thing for Constructors... Great tool!
回答2:
Well you can try out IntelliJ for free to get a feel for everything it can do. It satisfies your "not available in Eclipse" and "perform the same refactorings better" but obviously not the "preferably Eclipse plugins" :)
Here's an overview : http://www.jetbrains.com/idea/features/refactoring.html
回答3:
I agree with nevster that IntelliJ is much more complete and subtle in its set of refactoring tools. I have been using it for quite a while, and, with automatic code generation (which is essentially the same thing), an extensive refactoring toolkint is the feature that makes it really stand out compared to Eclipse.
However, I would not advise so readily moving to IntelliJ, for a number of reasons that can get really irking over time:
- it's not free (I would even say it is expensive)
- it has a HUGE memory footprint (half a Gb? wtf?) and is slow to start
- it does not interact well with X-based window managers (to the point of silent data corruption, in some extreme cases)
So you would have to balance the advantages of a better (admittedly, outstandingly so) refactoring toolkit against the weight (literally) of IntelliJ.
来源:https://stackoverflow.com/questions/708164/java-refactoring-tools