Emacs: My awesome Java environment A talk by torstein @ skybert dot net Hi, I'm Torstein Been in ❤ with Emacs since 2000 I've used many Java plugins/packages java-mode (2000 → 2001) JDE/JDEE (2001 → 2009) gtags jtags Malabar (2011 → 2012) JDIbug (2009 → 2011) eclim (2013 → 2017) Meghanada (2017 → 2018) lsp-java (2018 → present) My requirements Zero conf: Easily setup a new Java project Fast: must handle large projects Large meaning ~7000 classes (Tomcat has 2200) Easy to switch between projects Seeing is believing Will use a wee app, cheese-shop to show the Java features in Emacs. Seeing is believing Auto completion Code navigation Jump to source of 3rd party libraries Import classes Static import methods and fields Run JUnit tests from within Emacs Seeing is believing Linting Unused variables Wrong syntax Missing generics Seeing is believing Implement missing class Implement missing method Seeing is believing Debug application from within Emacs Debugger with conditional break points Seeing is believing Refactoring: rename variable Refactoring: extract to variable Refactoring: extract to method System.exit(0); ✏ torstein @ skybert dot net