SpaceVim - 打造 Java 開發環境

SpaceVim發表於2017-10-12

SpaceVim 是一個社群驅動的 Vim/Neovim 配置集合,支援多種語言開發,以模組的形式組織各種功能,包括常用的開發模組以及一些工具模組。

welcome-page
welcome-page

項 目 主 頁: spacevim.org

Github 地址 : github.com/SpaceVim/Sp…

下面以 Java 為例,介紹下如何利用 SpaceVim 打造一個完整的終端開發環境。首先需要明確一點的是 SpaceVim 是一個配置集合,依賴 vim 或 neovim 才能執行,vim 安裝相對簡單,各大 linux 發行版都整合 Gvim。關於 neovim 的安裝,個人建議手動編譯,neovim 的編譯安裝非常簡單:

git clone https://github.com/neovim/neovim.git
make CMAKE_BUILD_TYPE=RelWithDebInfo
sudo make install複製程式碼

SpaceVim 安裝

spacevim 也有一鍵安裝指令碼:

curl -sLf https://spacevim.org/install.sh | bash複製程式碼

載入 Java 模組

SpaceVim 的配置檔案預設是 ~/.SpaceVim.d/init.vim, 可以通過 SPC f v d快捷鍵開啟, SPC 為空格鍵。

若要載入 Java 模組,只需要加入:

call SpaceVim#layers#load('lang#java')複製程式碼

常用快捷鍵演示

  • 常規介面 - 語法樹(F2),檔案樹(F3),狀態列,標籤欄

常規介面
常規介面

  • 原始檔 和 對應 test 檔案相互跳轉: 快捷鍵 SPC l j a

原始檔test跳轉
原始檔test跳轉

  • 自動補全、導包

自動導包,補全
自動導包,補全

  • 程式碼自動生成 - 比如新建 class,自動生成一些方法等,這裡演示一下 getter setter 以及 tostring 等方法的生成:

程式碼生成
程式碼生成

  • 執行程式碼,測試等:

執行 main 方法:

執行main方法
執行main方法

執行當前方法:

執行當前方法
執行當前方法

執行所有測試方法:

執行所有測試
執行所有測試

以上的所有演示相關快捷鍵

包匯入相關快捷鍵:

快捷鍵 描述
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

程式碼生成相關快捷鍵:

模式 快捷鍵 描述
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

程式碼格式化:

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
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

相關文章