jde-refactor is no longer maintained, as I no longer use JDEE. Feel free to pick up the project, if you wish.
What is this?
Because I can!
Less flippantly, because it's not that hard; and anything that keeps me from having to, or wanting to, inflict Eclipse on my poor little overworked computer is a good thing. Besides, not running Eclipse means the computer will not take a short flight through the nearest window anywhere near as often.
How usable is it?
Not very. I've not pluginified it, there are no keybindings, not very many refactorings are supported etc.
That said, it's there, the commands are available using
M-x, and any Emacs-user savvy enough to get this critter running should be able to bind a few keys, right?
What is supported?
Currently, two refactorings are supported:
- Extract Constant with support for number, string and character literals
- Rename with support for local and instance variables, and methods
Note that the rename refactoring currently does not take scope into account; that is, if you rename a non-private member (instance variable or method), it does not update references to that member outside the current class. If this bothers you, either don't do it or drop a comment on issue #1.
What are my options?
My intention is to expose one customizable variable for each refactoring, which will control whether or not that refactoring is "interactive". For the two currently-implemented refactorings, this means that the refactoring will use
query-replace-regexp to do replacements.
The interactivity variables for the current refactorings default off.
For the full list of customizable options,
M-x customize-group jde-refactor.
Can I help?
First of all, if you use the thing, drop me a note; it's always nice to get feedback.
Second, see that "issues" link up there? Have a look at the listed issues; if you see one that you'd like implemented, log a comment on it. Or even submit a patch! Of course, if there is something else you'd like to see, create a new issue.
Third: There's another link up there, called "fork". Go ahead; jde-refactor is Open Source!