La diferencia principal que encontré entre Eclipse (e IntelliJ) y el formato de Java por defecto de Emacs es que los argumentos de la función de líneas de Emacs continuaron en una nueva línea con los argumentos anteriores, p. emacs hace:
BigLongJavaStuff.doFoobarToQuux("argument 1",
"argument 2");
y Eclipse hace:
BigLongJavaStuff.doFoobarToQuux("argument 1",
"argument 2");
El archivo ~/.emacs siguiente añadido al que hará que Emacs java-modo de hacer lo mismo:
;; eclipse-java-style is the same as the "java" style (copied from
;; cc-styles.el) with the addition of (arglist-cont-nonempty . ++) to
;; c-offsets-alist to make it more like default Eclipse formatting -- function
;; arguments starting on a new line are indented by 8 characters
;; (++ = 2 x normal offset) rather than lined up with the arguments on the
;; previous line
(defconst eclipse-java-style
'((c-basic-offset . 4)
(c-comment-only-line-offset . (0 . 0))
;; the following preserves Javadoc starter lines
(c-offsets-alist . ((inline-open . 0)
(topmost-intro-cont . +)
(statement-block-intro . +)
(knr-argdecl-intro . 5)
(substatement-open . +)
(substatement-label . +)
(label . +)
(statement-case-open . +)
(statement-cont . +)
(arglist-intro . c-lineup-arglist-intro-after-paren)
(arglist-close . c-lineup-arglist)
(access-label . 0)
(inher-cont . c-lineup-java-inher)
(func-decl-cont . c-lineup-java-throws)
(arglist-cont-nonempty . ++)
)))
"Eclipse Java Programming Style")
(c-add-style "ECLIPSE" eclipse-java-style)
(customize-set-variable 'c-default-style (quote ((java-mode . "eclipse") (awk-mode . "awk") (other . "gnu"))))
Sí, esto es el tipo de tuercas y tornillos que estaba tratando de evitar debido a algunas de las peculiaridades de la sangría de Eclipse (o al menos el estilo de que están usando). Tenía la esperanza de que alguien ya hubiera programado un estilo de Eclipse que pudiera incluir. Gracias por los refs aunque. – user98166
Bueno, si alguna vez lo logras, ¿podrías publicar la alista? Puede ser incluso aquí? – Arkadiy
Consulte http://stackoverflow.com/questions/5556558/getting-consistent-indentation-in-eclipse-and-emacs para un comienzo bueno y simple. Como dijo Arkadiy, si alguien clava esto, ¡por favor publica! –