;; -*- mode: org -*-
Java Development in Emacs
GNU Emacs
cc-mode , java-mode
Collection of Emacs Development Environment Tools
Emacs Code Browser
Emacs Lisp Library (Deprecated)
Java Development Environment for Emacs , Contributions
OpenJDK , Apache Ant , Ant-Contrib , JUnit , Checkstyle, Findbugs, PMD
BeanShell , Nashorn , ABCL , Clojure
Key Command
C-h m describe-mode
C-h b describe-bindings
C-h k describe-key
C-h f describe-function
C-h v describe-variable
customize-variable
jde-keys
jde-bug-keys
C-h v jde-key-bindings
jde-customize-variable
Project, Compile, Build, Run, Debug, Test
Key Command Description
jde-compile-jde
jde-create-new-project jde-project-file-name
C-c C-v C-p jde-save-project
jde-load-project-file
jde-toggle-project-context-switching jde-project-context-switching-enabled-p
C-c C-v C-k jde-bsh-run
jde-bsh-exit
C-c C-v C-c jde-compile jde-compile{r,,-option}-*
C-c C-v C-b jde-build jde-{make,ant}-*
C-x ` next-error
C-c C-v C-r jde-run jde-run-{,option-}*
C-u - C-c C-v C-r jde-run-application-class
C-u C-c C-v C-r jde-run-option-application-args
C-c C-v C-[ jde-run-etrace-prev
C-c C-v C-] jde-run-etrace-next
C-c C-v C-d jde-debug jde-jdb-*, jde-debug-*
jde-junit-run
Code Completion and Browsing
Key Command
M-/ dabbrev-expand
hippie-expand
C-c C-v C-. jdee-complete
C-c C-v . jdee-complete-in-line
jdee-complete-menu
jdee-complete-minibuf
C-c C-v C-f jdee-find
jdee-find-dlg
jdee-find-class-source
C-c C-v C-y jdee-open-class-at-point
jdee-open-class-source
C-c C-v C-x jdee-show-superclass-source
M-x shell; cd <basedir>; jtags
ctags; gtags; cscope
M-. find-tag
C-M-. find-tag-regexp
M-* pop-tag-mark
tags-search
tags-query-replace
M-, tags-loop-continue
list-tags
tags-apropos
Key Command
C-c C-v C-z jdee-import-find-and-import
C-c C-v z jdee-import-all
jdee-import-all-unique
jdee-import-expand-imports
jdee-import-collapse-imports
jdee-import-organize
jdee-import-kill-extra-imports
C-c C-v C-q jdee-wiz-update-class-list
C-c C-v o jdee-wiz-overrided-method
C-c C-v c jdee-wiz-implement-interface
jdee-wiz-delegate
jdee-wiz-get-set-methods
jdee-gen-*
jdee-gen–buffer
jdee-gen–listener
jdee-gen–method
jdee-gen–wrapper
jdee-gen-get-set
C-c C-v C-l jdee-gen-println
jdee-gen-action-listener
jdee-gen-window-listener
jdee-gen-mouse-listener
jdee-gen-mouse-motion-listener
jdee-gen-to-string-method
C-c C-v t jdee-gen-try-catch-wrapper
C-c C-v f jdee-gen-try-finally-wrapper
Abbreviations and Code Templates
C-h v jde-mode-abbreviations
Key Command
C-c C-v C-s speedbar
Q delete-frame
q delete-close-frame
g speedbar-refresh
t speedbar-toggle-updates
p speedbar-prev
M-p speedbar-restricted-prev
C-M-p speedbar-backward-list
n speedbar-next
M-n speedbar-restricted-next
C-n speedbar-forward-list
b dframe-switch-buffer-attached-frame
f file mode
r revert to last mode
e speedbar-edit-line
+, = speedbar-expand-line
- speedbar-contract-line
U speedbar-up-directory
I speedbar-item-info
B speedbar-item-byte-compile
L speedbar-item-load
C speedbar-item-copy
R speedbar-item-rename
d speedbar-item-delete
O speedbar-item-object-delete
M speedbar-create-directory
. C ede-speedbar-compile-project
. a ede-speedbar-file-add-to-project
. c ede-speedbar-compile-file-target
. d ede-make-dist
. s ede-speedbar
. t ede-new-target
Key Command
ecb-activate
C-c . g d ecb-goto-window-directories
C-c . g s ecb-goto-window-sources
C-c . g m ecb-goto-window-methods
C-c . g h ecb-goto-window-history
C-c . g l ecb-goto-window-edit-last
C-c . \ ecb-toggle-compile-window
ecb-toggle-ecb-windows
ecb-hide-ecb-windows
ecb-show-ecb-windows
Attach-mode
-Xdebug -Xrunjdwp:transport=dt_socket,address=6001,server=y,suspend=n
Listen-mode
-Xdebug -Xrunjdwp:transport=dt_socket,address=6001,server=n,suspend=y
Optional
-Xnoagent -Djava.compiler=NONE
-Xbootclasspath:$JAVA_HOME/lib/rt.jar:$JAVA_HOME/lib/tools.jar
Key Command
C-c C-v C-[ jde-run-etrace-prev
C-c C-v C-] jde-run-etrace-next
[C-u] C-x ` next-error
C-c C-c compilation-goto-error
M-n
M-p
<SPC>
<DEL>
Key Command jdb
C-c C-v C-d jdee-debug
jdee-debug-quit
jdee-bug-attach-*
jdee-bug-listen-*
C-c C-a C-b jde-debug-toggle-breakpoint break
jde-clear-breakpoints
C-c C-a C-s jde-bug-step-over next
C-c C-a C-n jde-debug-step-into step
C-c C-a C-o jde-debug-step-out step up
C-c C-a C-c jde-debug-cont cont
jde-bug-display-variable print, dump
jde-bug-toggle-local-variables locals
set
C-c C-a C-p
C-c C-a C-d
(add-to-list ‘load-path “/path/to/jdibug”)
(require ‘jdibug)
In prj.el,
(setq jdibug-connect-host …
jdibug-connect-port …)
(define jde-mode-map [f8] ‘jdibug-step-over)
(define jde-mode-map [M-f8] ‘jdibug-step-into)
(define jde-mode-map [f7] ‘jdibug-step-out)
(define jde-mode-map [M-f7] ‘jdibug-resume)
Key Command
C-c C-c C-c jdibug-connect
C-c C-c C-d jdibug-disconnect
C-c C-c C-n jdibug-step-over
C-c C-c C-i jdibug-step-into
C-c C-c C-o jdibug-step-out
C-c C-c C-r jdibug-resume
C-c C-c C-b jdi-toggle-breakpoint
(require ‘jdee-javadoc)
Key Command
C-c C-v j jdee-javadoc-autodoc-at-line
jdee-javadoc-make
C-c C-v C-n jdee-help-browse-jdk-doc
C-c C-v C-w jdee-help-symbol
jde-browse-class
jde-browse-class-at-point
Key Command
flymake-goto-next-error
flymake-goto-previous-error
flymake-display-err-menu-for-completion
jde-checkstyle
Source: jde-xref.el
Key Command Description
jde-xref-make-xref-db jde-xref-db-base-directory
jde-xref-store-prefixes
jde-xref-cache-size
jde-xref-update (run-at-time “11:00pm” 86400 ‘jde-xref-make-xref-db)
C-u … strict-mode
C-c C-v a jde-xref-first-caller
C-c C-v n jde-xref-next-caller
jde-xref-display-call-tree
jde-xref-list-uncalled-functions
M-x describe-variable xref-key-binding
Create TAGS file
xref [-update] -p <project> [-debug] [-errors]
Create JavaDoc
xref -html -nostdop -nocxfile -htmlroot=${HOME}/HMTL -htmlgxlist *.java
xref [-update] -html -p <project>
Key Command
F3 xref-previous-reference
F4 xref-next-reference
F5 xref-pop-and-return
F6 xref-push-and-goto-definition
F7 xref-delete-window
F8 xref-completion
F11 xref-refactor
C-F3 xref-alternative-previous-reference
C-F4 xref-alternative-next-reference
C-F5 xref-re-push
C-F6 xref-browse-symbol
C-F7 xref-
C-F8 xref-ide-compile-run