この記事は「Visual Studio Code Advent Calendar 2017」の7日目の記事です。
昨日は@74thさんの「Visual Studio Codeの各言語、環境のデバッグの仕方を集めたサイトを作ってる」でした。
明日は@Maxfield_Walkerさんです。
私からは「Visual Studio CodeでJavaを書いてみた話」をしたいと思います。
なんでVisual Studio CodeでJava書くの?
Javaのコードを書くとき、通常であればIntelliJ IDEAやEclipse、NetBeansなどのIDE(統合開発環境)を使います。コード補完やJavaDoc、ビルド、ユニットテストなど、様々な機能と周辺ツールを利用可能で、効率良く開発ができるためです。
私はJava EE開発をやっていたので、ずっとNetBeansをメインに使ってきたのですが、最近Visual Studio CodeでJavaを書く機会が増えてます。そのきっかけは11/24に参加した「Spring Fest 2017」でRed Hatの方がデモにVisual Studio Code使っていたのを見たためです。
そのときは「へー、Visual Studio CodeでJava書けるんだ」ぐらいの印象だったのですが、実際に使ってみたところ「軽い!」と動作のサクサク感に感動しました。
私が普段利用してるノートPCはVAIO Duo13という少し古い機種ではありますが、インテル Core i7-4650U (1.70 GHz)・メモリ8G・SSDでそこまで悪いSpecではありません。それでもNetBeansの起動は少し遅く感じます。
ちょっとしたお試しコードであればサクッとVisual Studio Codeで書いて動かす、というのは1つの選択肢になるのではないかなと思います。
Visual Studio Codeとは?
Visual Studio Code Advent Calendarなので、今さら書く必要がないと思いますが、Java方面だと名前は知ってるけど触ったことない、という方もいらっしゃる可能性があるため少しだけ触れておきます。
Visual Studio Codeは2015年にMicrosoftがリリースしたエディタです。Visual Studioという名前からWindowsでの動作をイメージを浮かべてしまいがちですが、Windows、Linux、macOSのプラットフォームで動くエディタであるのが特徴です。また、拡張機能(Extensions)は種類が豊富で開発も盛んです。
marketplace.visualstudio.com
Image may be NSFW.
Clik here to view.
Visual Studio Code x Java
Visual Studio Codeを使ってJavaを書いてみようと思った方は一度公式サイトのドキュメントを参照ください。
code.visualstudio.com
以下、簡単に紹介します。
Java Extension Pack
Java Extension Packという拡張機能がMicrosoftから提供されています。基本的にはこちらをインストールするだけでOKです。
marketplace.visualstudio.com
Image may be NSFW.
Clik here to view.
依存関係をみると以下の2つがあって、Red HatとMicrosoftが提供元となっています
Dukeかわいい。
Image may be NSFW.
Clik here to view.
なんでテントウムシなんだろう…。J2SE 1.3.1のコードネームがLadybird=テントウムシらしいけど、それなのかな…。
Image may be NSFW.
Clik here to view.
この2つはJava Extension Packをインストールすれば自動的にインストールされます。
Java Test Runner
12月1日にVisual Studio CodeがJUnitに対応したというアナウンスがありました。(ただしJUnit4)
blogs.msdn.microsoft.com
早速Publickeyで日本語記事になっていましたね。
www.publickey1.jp
こんな感じで今後もJavaに関連した拡張が増えていくと嬉しいなぁ。
実行結果
以下の簡単な例を試す手順をまとめます。(Mavenは入ってる前提)
- Java Extension Pack x Spring Boot
- Java Test Runner
Java Extension Pack x Spring Boot
Spring InitializrでWebのDependencyだけ入れたプロジェクトを落として解凍します。
Image may be NSFW.
Clik here to view.
Visual Studio Codeの「ファイル」メニューから「フォルダーを開く」を選択し、解凍したフォルダを指定します。
Image may be NSFW.
Clik here to view.
Image may be NSFW.
Clik here to view.
開きました。
Image may be NSFW.
Clik here to view.
「デバッグ」メニューから「デバッグの開始」を選びます。(F5キーを押してもよいです)
Image may be NSFW.
Clik here to view.
すると環境の選択メニューが表示されるので「Java」を選びます。
Image may be NSFW.
Clik here to view.
暫く待つと、launch.jsonが自動生成されるので必要なパラメータを指定します。今回はportの部分を空文字から8080に変更しました。
Image may be NSFW.
Clik here to view.
再度「デバッグの開始」(またはF5)を実行すると、無事にSpring Bootのロゴが表示されてアプリケーションが実行されました。
Image may be NSFW.
Clik here to view.
こんな感じで非常に簡単です。
Java Test Runner
こちらも簡単で、JUnitのテストコードを書くと下図のようにテストメソッドの上に「Run Test」「Debug Test」が表示されます。Debug Testはブレークポイントを置いてテストコードをデバッグできる実行方法です。
Image may be NSFW.
Clik here to view.
右側のチェックマークやバツマークはテストの成功可否を表します。
その他機能
最低限の機能は揃ってます。
コード補完
Image may be NSFW.
Clik here to view.
インポートの補助
Image may be NSFW.
Clik here to view.
JavaDocのツールチップ表示&Help表示
Image may be NSFW.
Clik here to view.
ウォッチ式
Image may be NSFW.
Clik here to view.
定義への移動や
Image may be NSFW.
Clik here to view.
参照の検索
Image may be NSFW.
Clik here to view.
ステップイン・ステップアウト・ステップオーバー
Image may be NSFW.
Clik here to view.
まだまだ機能的に足りない点はあると思いますが、ちょっとしたJavaコードを書く場合などには軽量でサクッと動くVisual Studio Codeを利用するのもありではないかなと思います。Visual Studio CodeはLinuxでもMacでも動くので、Java開発者の方は是非お試しください。
最後にVisual Studio Codeと全然関係ないのですが、来月以下のイベントを開催するので、興味がある方は是非ご参加ください!!
sendgrid.kke.co.jp