20

I use vim as my editor but I would like to get some of the same power of the IDE's for java when it comes to refactoring. Are there any commandline tools for refactoring java? I could probably hack something together using perl or vim scripting but if there is something already out there I'd rather use that.

Guss
  • 30,470
  • 17
  • 104
  • 128
Jeremy Wall
  • 23,907
  • 5
  • 55
  • 73

5 Answers5

7

You could try Eclim. The goal of Eclim is to expose the functionality of Eclipse within Vim. In particular, there are a few commands for refactoring that are supported.

Daniel Trebbien
  • 38,421
  • 18
  • 121
  • 193
5

Check out jrefactory, and its command line option.

Adeel Ansari
  • 39,541
  • 12
  • 93
  • 133
1

Code refactoring is a very context-sensitive and interaction-heavy process which doesn't lend itself very well to command-line interfaces. There can be dozens of types of refactorings you could do to a particular file (or set of files) and coming up with a vim interface to integrate all of this would be a major challenge.

If you want IDE functionality, why not use an IDE? Especially with Java, which lends itself so well to automatic refactoring by a complex piece of software like Eclipse.

levik
  • 114,835
  • 27
  • 73
  • 90
1

I would strongly advise you to use VIM within an IDE (e.g. VIMPlugin and Eclipse - this is the combination I use and it works very well).

I used to be a VIM diehard. However the refactoring and code analysis within a modern IDE will far surpass any capabilities that VIM will provide (with plugins etc.).

Don't get me wrong. I love VIM and still use it for all sorts of stuff. Modern IDEs are the most productive route forward, however.

Brian Agnew
  • 268,207
  • 37
  • 334
  • 440
  • 1
    I've tried those but the vim plugin doesn't give me any of the ide benefits. I might as well just use vim and the ide side by side. – Jeremy Wall Apr 11 '09 at 15:18
  • modern IDEs are to heavyweight. hate waiting almost a minute to open a large project or switch workspaces. – JoaoHornburg Jan 09 '12 at 18:58
0

I know this is an older question, but I was asking myself this question a bit back and decided to write one. It's new and it not "super awesome yet" but it's written in GOLANG and it's open source. DISCLAIMER, this is my project but I am not self promoting. I just thought I'd share with others that care about something of this nature.

https://github.com/asharif/ref

Arash Sharif
  • 542
  • 7
  • 16