6.2 KiB
Java contribution layer for Spacemacs
Description
This layer adds support for the Java language using the Eclim client/server.
Layer Installation
Table of Contents
Add this layer to your ~/.spacemacs
.
(setq-default dotspacemacs-configuration-layers '(java))
and also in ~/.spacemacs
set eclipse and eclim paths:
(custom-set-variables
'(eclim-eclipse-dirs '("~/opt/eclipse"))
'(eclim-executable "~/opt/eclipse/eclim"))
Eclim
Eclim provides the ability to access Eclipse code editing features (code completion, searching, code validation, and many more) via the command line or a local network connection, allowing those features to be integrated with your favorite editor.
Installation
For installation check official page
Usage
Currently you have to have eclimd already started. This layer doesn't try to control eclimd in no way although there's that option in emacs-eclim
itself.
This layer uses company
as a completion framework. If you want to use auto-complete
I encourage you to make it configurable.
Key bindings
Eclim key bindings in java-mode
Project management
Key Binding | Description
----------------------|------------------------------------------------------------ SPC m p j | Information about project SPC m p o | Open project SPC m p b | Build project SPC m p d | Delete project SPC m p g | Open file in current project SPC m p i | Import project SPC m p c | Create project SPC m p k | Close project SPC m p s | Open project management buffer SPC m p u | Update project
Maven
Key Binding | Description
----------------------|------------------------------------------------------------ SPC m m p | Run one already goal from list SPC m m R | Run one maven goal SPC m m r | Run maven goals SPC m m t | Run maven test SPC m m i | Run maven clean install SPC m m I | Run maven install
Goto
Key Binding | Description
----------------------|------------------------------------------------------------ SPC m g g or M-. | go to declaration M-, | jump back from go to declaration/definition SPC m g t | go to type definition
Refactoring
Key Binding | Description
----------------------|------------------------------------------------------------ SPC m r f | Format file SPC m r r | Rename symbol SPC m r i | optimize imports
Documentation, Find
Key Binding | Description
----------------------|------------------------------------------------------------ SPC m h h | show documentation for symbol at point SPC m h u | show usages for symbol at point SPC m f f | general find in project
Problems
Key Binding | Description
----------------------|------------------------------------------------------------ SPC m e o | open buffer with problems SPC m e b | open buffer with problems SPC m e a | set all problems for next/prev action SPC m e e | set only errors for next/prev action SPC m e w | set warnings for next/prev action SPC m e f | set only current file for next/prev action SPC m e n | set all problems for next/prev action SPC m e n | go to next problem SPC m e p | go to previous problem SPC m e c | show options with problem corrections
Tests
Key Binding | Description
----------------------|------------------------------------------------------------ SPC m t t | run JUnit tests for current method or current file or project SPC m t T | run maven test phase
Eclim keybindings in problems buffer
Key Binding | Description
----------------------|------------------------------------------------------------ a | show all problems e | show only errors g | refresh problems q | quit w | show only warnings f | show problems only for current file RET | go to problem place
Eclim keybindings in projects buffer
Key Binding | Description
----------------------|------------------------------------------------------------ N | create new project m | mark current project M | mark all projects u | unmark current project U | unmark all projects o | open project c | go to problem place i | info about current project I | import existing project into the workspace RET | go to current project D | delete project p | update project g | refresh buffer R | rename current project q | quit