なんとかしてvimでJava開発するためにやったこと
こんにちは、MMMサーバサイドエンジニアの柳沼です。
お世話になっております。
最近北海道に引っ越しました。
最近はSpringフレームワークを使ったWebAPIのスクラッチ開発をしていたのですが、
STS(Eclipse)が重い 問題に悩まされていました。
STSは非常にフルスタックなIDEなので、
軽さとトレードオフなのは仕方ないのですが、
それにしても重い。 結構消耗することが多かったので、
vimでどうすればJava開発がやりやすいかを考えてみました。
結論
STS(Eclipse)を使えばいいと思う。
やったことその1 vim-quickrunの導入
vim-quickrunは、vimからjavaのコンパイル及び実行ができるプラグインです。
2017年4月現在でも、最近までコミットされています。
このように、Javaファイルからコマンドモードで :QuickRun
を入力すると
おもむろにウインドウが分割され、実行結果が表示されます。
Eclipseのリアルタイムコンパイルとは違いますが…
Javaはimportなどにうるさいですが、
これでコンパイルエラーに気付けるようになります。
その2 neosnippetで補完する
neosnippetはjava特化プラグインではありませんが、
非常に便利なので入れておくのがオススメです。
.vimrc
を いい感じに 設定した後、
<C-k>
を叩くことで、こんな感じに補完してくれます。
snippetファイルは ~/.vim/bundle/neosnippet-snippets/neosnippet
内に
デフォルトがあり、
自分で新たなスニペットを作成することもできます。
その3 eclimを使う
eclim はEclipseの機能をネットワーク越しに叩くためのインタフェースです。
Xvfbから仮想サーバを立て、その中でEclipse、Eclimを立ち上げ、vimから接続します。
基本Eclipseなので、補完機能もリッチです。
何故Eclipseを使うべきか?
-
そもそもvimってこういうことなのでしょうか?
UNIX思想「”do one thing, and do it well"; (1つのことだけをうまくやる)」に
合致しているあのvimからは、ずいぶん外れた使い方のように感じました。
vimでリアルタイムコンパイルをやろうとすることは正しいのか?という呵責に、
開発者として苛まれずにはいられないものでしょう。 -
Eclipseは最強すぎる
強力な補完、リファクタリング機能、賢いシンタックスハイライトなど、Eclipseはやっぱり頭がいいです。
特に、CheckStyleやstepCounterを利用が容易であること、Maven・Gradleとの親和性が高いことなど、 -
さすがはEclipse先輩* と思うことはなんだかんだで多いです。Eclipseを使えば簡単なことを、わざわざvimでやる必要はないな…
と感じました。
逆にEclipseでviコマンドを使う
vrapperを使えば、Eclipseのエディタをvimライクに使うことができます。
最初からこうすればよかった。