On 10/5/09 5:47 PM, John Pallister wrote: […]
As an aside, does anyone want to share their .emacs settings for Java development? I've installed JDE (which was a PITA FWIW), CC-Mode etc. and I'm curious as to what other (Emacs-minded) people are using.
I'm not a fan of JDE, as it really never helped with my primary use of Java based IDEs by giving insight into the class structure. Supposedly [CEDET][1] will be included in the next point release of Emacs 23, but I haven't really integrated it into my Java-based workflow. CEDET's primary consumer seems to be C++ development, but it seems to have the basis for Java-based inspection that I would use. I have yet to really have the time to understand what CEDET offers.
[1]: http://cedet.sourceforge.net/
As for Java settings for Emacs 23, I don't use much more than the defaults. The relevant portions of my .emacs:
(require 'java-mode-indent-annotations) (require 'cc-mode) (add-hook 'java-mode-hook 'java-mode-indent-annotations-setup)
(setq-default indent-tabs-mode nil) (setq c-basic-offset 2) (add-hook 'java-mode-hook (lambda () (set (make-local-variable 'compile-command) "/opt/local/bin/ant -emacs -find build.xml")))
The only thing non-standard here is [java-mode-indent-annotations][2], which adjusts cc-mode for Java annotations from
@Annotation public Code starts(here) {
to
@Annotation public Code starts(here) {
[2]: http://www.emacswiki.org/cgi-bin/wiki/java-mode-indent-annotations.el
For navigating the ABCL source, note that the 'TAGS' target in 'build.xml' has specialized logic to grovel the '###SYMBOL###' comments that link Lisp symbols to their Java implementations, which makes Emacs's M-x find-tag interface quite a bit more useful.