summaryrefslogtreecommitdiffstats
path: root/2019/talks/19.md
diff options
context:
space:
mode:
authorAmin Bandali <bandali@gnu.org>2020-07-19 14:04:32 -0400
committerAmin Bandali <bandali@gnu.org>2020-07-19 14:04:32 -0400
commit87b5733c89f1d0ec63ac7a30e19a4fd71ed1f484 (patch)
treee4a4626092f16fdc39f0097d76c35a06c4fc2ffd /2019/talks/19.md
parent543a002a4de31c15e8024c6b5d0f6b0b48f74687 (diff)
downloademacsconf-wiki-87b5733c89f1d0ec63ac7a30e19a4fd71ed1f484.tar.xz
emacsconf-wiki-87b5733c89f1d0ec63ac7a30e19a4fd71ed1f484.zip
2019/talks/: import yet a few more
transcript of janis's talk imported from <https://mirror.csclub.uwaterloo.ca/emacsconf/2019/emacsconf-2019-20-automate-your-workflow-as-a-game-developer--transcript--janis.org> with a few minor corrections (mostly formatting improvements).
Diffstat (limited to '2019/talks/19.md')
-rw-r--r--2019/talks/19.md61
1 files changed, 61 insertions, 0 deletions
diff --git a/2019/talks/19.md b/2019/talks/19.md
new file mode 100644
index 00000000..a2408fce
--- /dev/null
+++ b/2019/talks/19.md
@@ -0,0 +1,61 @@
+[[!meta title="How Emacs became my awesome Java editing environment - Torstein Krause Johansen"]]
+[[!meta copyright="Copyright &copy; 2019 Torstein Krause Johansen"]]
+
+[[!template id=vid
+src="https://mirror.csclub.uwaterloo.ca/emacsconf/2019/emacsconf-2019-19-how-emacs-became-my-awesome-java-environment--skybert.webm"
+type="video/webm"]]
+
+### Download
+
+- [Video (Live)](https://mirror.csclub.uwaterloo.ca/emacsconf/2019/emacsconf-2019-19-how-emacs-became-my-awesome-java-environment--skybert.webm) (720p)
+- [Video (Prerecording)](https://mirror.csclub.uwaterloo.ca/emacsconf/2019/emacsconf-2019-19-how-emacs-became-my-awesome-java-environment--prerec--skybert.webm) (1080p)
+
+### Notes
+
+#### Emacs: My awesome Java environment
+
+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)
+- [JDEE](//github.com/jdee-emacs/jdee) (2001 → 2009)
+- [gtags](//www.gnu.org/software/global/manual/global.html)
+- jtags
+- [Malabar](//github.com/m0smith/malabar-mode) (2011 → 2012)
+- [JDIbug](//github.com/udalrich/jdibug) (2009 → 2011)
+- [eclim](//github.com/emacs-eclim/emacs-eclim) (2013 → 2017)
+- [Meghanada](//github.com/mopemope/meghanada-emacs) (2017 → 2018)
+- [lsp-java](//github.com/emacs-lsp/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](//gitlab.com/skybert/cheese-shop) to
+show the Java features in Emacs.
+
+- Auto completion
+- Code navigation
+- Jump to source of 3rd party libraries
+- Import classes
+- Static import methods and fields
+- Run JUnit tests from within Emacs
+- Linting
+- Unused variables
+- Wrong syntax
+- Missing generics
+- Implement missing class
+- Implement missing method
+- Debug application from within Emacs
+- Debugger with conditional break points
+- Refactoring: rename variable
+- Refactoring: extract to variable
+- Refactoring: extract to method