1
0
mirror of https://github.com/SpaceVim/SpaceVim.git synced 2025-01-24 03:00:06 +08:00
SpaceVim/docs/layers/lang/java.md
2017-07-29 17:16:23 +08:00

89 lines
3.3 KiB
Markdown

---
title: "SpaceVim lang#java layer"
---
# [SpaceVim Layers:](https://spacevim.org/layers) lang#java
<!-- vim-markdown-toc GFM -->
* [Description](#description)
* [Layer Installation](#layer-installation)
* [Key bindings](#key-bindings)
* [Java language specified key bindings](#java-language-specified-key-bindings)
* [Maven](#maven)
* [Jump](#jump)
* [Problems buffer](#problems-buffer)
* [Project buffer](#project-buffer)
<!-- vim-markdown-toc -->
## Description
This layer is for Java development.
## Layer Installation
To use this configuration layer, add `SPLayer 'lang#java'` to your custom configuration file.
## Key bindings
### Java language specified key bindings
**Import key bindings:**
| Key Binding | Description |
| -------------------- | ------------------------------- |
| `F4` (Insert/Normal) | Import class under cursor |
| `SPC l I` | Import missing classes |
| `SPC l R` | Remove unused classes |
| `SPC l i` | smart import class under cursor |
| `<C-j>I` (Insert) | Import missing classes |
| `<C-j>R` (Insert) | Remove unused classes |
| `<C-j>i` (Insert) | smart import class under cursor |
**Generate key bindings:**
| Mode | Key Binding | Description |
| ------------- | ----------- | ------------------------------------- |
| normal | `SPC l A` | generate accessors |
| normal/visual | `SPC l s` | generate setter accessor |
| normal/visual | `SPC l g` | generate getter accessor |
| normal/visual | `SPC l a` | generate setter and getter accessor |
| normal | `SPC l M` | generate abstract methods |
| insert | `<c-j>s` | generate setter accessor |
| insert | `<c-j>g` | generate getter accessor |
| insert | `<c-j>a` | generate getter and setter accessor |
| normal | `SPC l ts` | generate toString function |
| normal | `SPC l eq` | generate equals and hashcode function |
| normal | `SPC l c` | generate constructor |
| normal | `SPC l C` | generate default constructor |
**Code formatting:**
the default key bindings for format current buffer is `SPC b f`. and this key bindings is defined in [format layer](<>). you can also use `g=` to indent current buffer.
To make neoformat support java file, you should install uncrustify. or
download [google's formater jar](https://github.com/google/google-java-format)
and add `let g:spacevim_layer_lang_java_formatter = 'path/to/google-java-format.jar'`
to SpaceVim custom configuration file.
#### Maven
| Key Binding | Description |
| ----------- | ------------------------------ |
| `SPC l m i` | Run maven clean install |
| `SPC l m I` | Run maven install |
| `SPC l m p` | Run one already goal from list |
| `SPC l m r` | Run maven goals |
| `SPC l m R` | Run one maven goal |
| `SPC l m t` | Run maven test |
#### Jump
| Key Binding | Description |
| ----------- | ---------------------- |
| `SPC l j a` | jump to alternate file |
### Problems buffer
### Project buffer