Back to Spacevim

SpaceVim lang#java 模块

docs/cn/layers/lang/java.md

2.4.04.3 KB
Original Source

可用模块 >> lang#java

<!-- vim-markdown-toc GFM --> <!-- vim-markdown-toc -->

模块描述

这一模块为 Java 开发提供支持,包括代码补全、语法检查、代码格式化等特性。

功能特性

  • 代码补全
  • 代码格式化
  • 重构
  • 语法检查
  • 交互式编程:需要 java8 的 jshell
  • 调试

启用模块

可通过在配置文件内加入如下配置来启用该模块:

toml
[[layers]]
  name = "lang#java"

模块选项

  • format_on_save: 启用/禁用保存文件时自动格式化,默认的值为 false, 可以使用如下配置启用该功能:
    toml
    [[layers]]
      name = 'lang#java'
      format_on_save = true
    
  • java_formatter_jar: 设置 谷歌格式化工具 的具体路径。
    toml
    [[layers]]
      name = 'lang#java'
      java_formatter_jar = 'path/to/google-java-format.jar'
    
  • java_file_head: 默认的文件头,当新建 Java 文件时自动加入。
    toml
    [[layers]]
      name = 'lang#java'
      java_file_head = [
        '/**',
        ' * @author : `fnamemodify(expand("~"), ":t")`',
        ' * @created : `strftime("%Y-%m-%d")`',
        '**/',
        ''
      ]
    

快捷键

导包相关快捷键

模式快捷键按键描述
NormalSPC l I导入所有缺失的类
NormalSPC l R删除多余的导包
NormalSPC l i智能导入光标下的类
InsertCtrl-j I导入所有缺失的类
InsertCtrl-j R删除多余的导包
InsertCtrl-j i智能导入光标下的类

代码生成相关快捷键

模式快捷键按键描述
NormalSPC l g Agenerate accessors
Normal/VisualSPC l g sgenerate setter accessor
Normal/VisualSPC l g ggenerate getter accessor
Normal/VisualSPC l g agenerate setter and getter accessor
NormalSPC l g Mgenerate abstract methods
InsertCtrl-j sgenerate setter accessor
InsertCtrl-j ggenerate getter accessor
InsertCtrl-j agenerate getter and setter accessor
NormalSPC l g tgenerate toString function
NormalSPC l g egenerate equals and hashcode function
NormalSPC l g cgenerate constructor
NormalSPC l g Cgenerate default constructor

代码格式化

默认的代码格式化快捷键是 SPC b f,该快捷键由 format 模块定义,同时也可以通过 g = 来对齐整个文档。

为了使 format 模块支持 Java 文件,需要安装 google's formater jar。 同时,需要设置模块选项java_formatter_jar

toml
[[layers]]
  name = 'lang#java'
  java_formatter_jar = 'path/to/google-java-format.jar'

Maven

快捷键功能描述
SPC l m iRun maven clean install
SPC l m IRun maven install
SPC l m pRun one already goal from list
SPC l m rRun maven goals
SPC l m RRun one maven goal
SPC l m tRun maven test

交互式编程

启动 jshell 交互进程,快捷键为: SPC l s i

将代码传输给 REPL 进程执行:

快捷键功能描述
SPC l s b发送整个文件内容至 REPL
SPC l s l发送当前行内容至 REPL
SPC l s s发送已选中的内容至 REPL