Ideal Java Editor

DevelopmentTools reminded me of..... What I always wanted from a Java editor:

Please add to the list. Contributors (so far): FalkBruegmann, GlennVanderburg, PeterMaier, SteveFreeman, GregVaughn, TomCrosman?, FrankCarver, PhilGoodwin, MikeMorris, MarnixKlooster, StefanMarx, TomStambaugh


Anybody game to start this as an OpenSource project? I have been thinking of starting to write such a beast for some time now, and find it intriguing that so many other people are expressing exactly the same wishes that I have. -- MikeMorris

So many ideas, so little time. To start such a thing, probably two or three people would have to sit together to devise a base architecture, so that others can start to implement most features as fairly separate modules. If this is not done, developing with more then three people at the same time will be next to impossible. Methinks. -- MarnixKlooster

So many ideas. I like this list and I would be very happy contributing to such an project. Naturally many of the things could be embedded in Emacs or some other editor, but I think it will be a good test for java implementing such a big thing. So if there is some activity on implementing all or some of the features, I would like to become member of the project. Call me for closer Discussion and my Javabackground. StefanMarx


No kidding, Marnix. I think that a lot of these features could be added to Emacs, but I'm really unhappy with the anti-modular, flat-name-space structure (or lack thereof) in Emacs, and I feel like I'm shouting into a pit in the ground every time I write Emacs-LISP code. I started thinking about a modular version of Emacs to which a lot of these features would be easy to add, once the groundwork was laid. But what a groundwork! My ideas are at

http://www.andrew.cmu.edu/~heywood/code/jmax (BrokenLink 2006.02.01)

But of course, we all have jobs and my interest in this project has shown itself to be really fickle and transient. -- RusHeywood

The JavaDevelopmentEnvironment (JDE), an Emacs Lisp package, has many of these features. E.g. it can add skeleton methods when adding an interface to a class. See http://sunsite.auc.dk/jde -- FrankGerhardt


It is interesting that some of the context sensitive editing and completion discussed here is implemented in MS Word (blaahhh). I personally don't like code completion. What I prefer is an editor, like vi, which has simple key strokes for doing complex things. Editing commands that simplify stuff like

/foo<cr>
cf/blaaahh bllaasssa<ESC>
n.n.n.n.n.n.n.n.n.n.n.n.n.n.
are just invaluable. I currently use Kawa[1]. It has the ability to let me define menu commands. This allows me to put Lemmy (a really nice vi clone with syntax highlighting) on the file context menu. I invoke Lemmy when I need to do EditingAsOpposedToTyping. -- GreggWonderly


Some of the features in the list above can be found in VisualAge for Java. It might be possible to extend VisualAge to add some of the missing features. -- PeterGassmann

The VisualAgeJava IDE is itself written in Smalltalk. IBM does not, to my knowledge, make the IDE code accessible to developers for customization. On the other hand, someone who knows the Smalltalk environment might accomplish the same task in Squeak, in an open way, thus enabling this approach. Once you grok the similarities and contrasts between Java and Smalltalk, it becomes a StraightForwardTask (as opposed to "InventionRequiredTask" or "TrivialTask") to begin dropping the kinds of features described here into the IDE. I don't believe that the Java environment is, in itself, rich enough to allow this kind of IDE to be written in Java itself, ala Smalltalk. -- TomStambaugh


Compile automatically while I type. Have background syntax checking.

Code Guide 2.0 has this feature. It underlines problems with a swiggly red line like word does. Great feature. It's a full compile check too, unlike JBuilder which just checks basic syntax.

-- GlenStampoultzis


I've been looking at jEdit, which is an editor written in Java Swing itself. It's very flexible (it can be expanded with the use of plugins which can be downloaded transparently over the net) and has a much smoother experience than XEmacs, but it has two big flaws:

It doesn't integrate well with XEmacs "compile/debug" feature. Even running a perl script is hard. Tab management is limited. I like using a 4 space indent, where two indentation expand out to a full 8 space hard tab. jEdit is only aware of tab as 4 char or 8 char, and it doesn't recognize my coding style.

Having said that, the parsing looks good, it's fast (and multi-threaded! No more Xemacs hangs!) and has a number of code-completion & templating features and I would consider using it for all my Java programming if I weren't already an Emacs junkie.

-- WillSargent12


The IdealJavaEditor should be more than a tricked up text editor, I feel that this is a stumbling block to most of the programming environments out there, they are stuck looking at Emacs. VisualAge is a interesting start but it lacks many features, the most important of which is integration with everyone's favourite tools. This could well due to the clash between the class based storage and file based tools. CanFileBasedToolsSurvive? in a future of logically structured tools.

-- AlistairHutton?


Why is it that so many of the items on this list are work-arounds for the fact that Java requires classes to contain gobs of repeated code, and that the javadoc contains gobs of gunk that is duplicated in the method signatures?

Why doesn't somebody just wish that Java had better facilities for reducing duplication?

-- JeffBay

Because it's easier for us to write tools that work round the duplication problem than to get Sun to rewrite the Java language spec. -- AlistairHutton?


Anybody knows about IntellijIdea from JetBrains? It makes just about everything that is mentioned here. I find it to be very good. Available at http://www.intellij.com/

-- FrancoisBeausoleil


And I'd feel guilty if I didn't mention EclipseIde (http://www.eclipse.org).

Absolutely. More often than once when using Eclipse I have wondered if any of its developers have read this page. -- FalkBruegmann


Any one know of an IDE that has a good VI personality (I already know about jVi and JBungler - so don't mention that)... Actually, I would be really interested in hearing about someone writing a plugin to Eclipse for this (I would like to help, if possible). -- JasonRogers


Check out Visual Slick Edit from http://www.slickedit.com. Nice vi emulation (also brief, emacs, etc.) and many of the features mentioned by the original poster. It has a C-like macro language which is fairly flexible. No, I don't work for them; I have just been using the editor for a couple of years now.

-- BryanGlennon


See JavaIde


EditText of this page (last edited January 31, 2006) or FindPage with title or text search