Java開発環境をVisual Studio Code で整える

Java開発環境をVisual Studio Code で整える

Javaの開発で使われるIDEには

といったものが主流のようですが、ある言語だけ別物の環境で開発することに筆者は少し抵抗がありました。1 2

Java を扱うプロジェクトにジョインするとき、最近流行りの Visual Studio Code(以下 VS Code )は対応してないのか? と少し調べたところ、ここ最近で対応が進んだようで無事セットアップできました。さくさく開発できるので気に入ってます。

今回はそのセットアップ手順を紹介します。

この記事で書くこと

  • Java 開発における VS Code の設定
    • 必要な拡張機能のインストール
    • 設定ファイルの書き方

この記事で書かないこと

環境

macOS High Sierra 10.13 で動作を確認しています。


Visual Studio Code

2015 年に発表されて3以来爆発的な開発が進められているエディタです。Github を見るとコミット数が 2018/05/28 時点で 33,000 を超えており、1 日あたり 30 コミット以上されている計算です。4

VS Code は単なるエディタとしてだけではなく、コンソールの起動やデバッグなど、IDE としても十分な機能が提供されています。

VS Code の設定や機能拡張は主に

  • JSON 形式で記述された設定ファイルの編集
  • 拡張機能の導入

で行います。本稿でも主にこの手順を紹介していきます。

拡張機能インストール

まず拡張機能をインストールします。

VS Code を起動し、[⌘ + Shift + X](Mac)、もしくは[Ctrl + Shift + X](Windows, Linux)から拡張機能を検索できます。 「java」と入力すると「Java Extension Pack」がヒットするので、この拡張機能をインストールしてください。

画像 : 拡張機能のインストール
画像 : 拡張機能のインストール

Java Extension Pack は下記の拡張機能がパッケージになっており同時にインストールされます。

  • Language Support for Java(TM) by Red Hat
  • Debugger for Java
  • Java Test Runner
  • Maven Project Explorer

Maven や Spring Boot を利用する場合は必要に応じ下記拡張機能も検索してインストールしておきましょう。

  • Maven for Java
  • Spring Boot Extension Pack

設定

JDK の設定

VS Code に JDK の場所を教えます。

まず環境変数 JAVA_HOME の値を確認しましょう。Mac か Linux で Bash を利用しているなら下記コマンドで確認できるはずです。

上記の例では/Library/Java/JavaVirtualMachines/jdk1.8.0_162.jdk/Contents/Homeです。

Windows のコマンドプロンプト5なら下記コマンドで確認できます。

>set | findstr JAVA

環境変数JAVA_HOMEを確認できたら、 VS Code 上で [⌘ + ,] (Mac)もしくは [Ctrl + ,] ( Windows, Linux )を押下して設定を開きます。

入力欄から設定項目を検索できるので「 javahome 」と入力すると、「 java.home 」の設定が見つかります。「 java.home 」の左側に出るペンのアイコンをクリックし、「設定にコピー」をクリックすると、設定ファイル settings.json へ編集可能な設定がコピーされるので、先程確認した環境変数 JAVA_HOME の値を設定します。

画像 : settings.json の設定
画像 : settings.json の設定

Lombok の導入

Java の開発では Lombok を導入することも多い6と思うので使えるようにしておきます。

まず下記から最新版の lombok.jar をダウンロードしましょう。

https://projectlombok.org/download

適当なフォルダへ lombok.jar を配置し、VS Code で lombok.jar を利用したプログラムの参照依存が解決ができるよう設定を行います。7

先程の settings.json に下記設定を追加してください。

/path/to/ の部分は lombok.jar を配置したファイルパスに置き換えてください。

ファイルパスに空白が含まれる場合は下記のように、パス全体をエスケープ付きのダブルクォートで囲みましょう。

ビルドタスクの設定

ビルドの設定はプロジェクトのあるディレクトリ毎に行います。

まずプロジェクトのあるディレクトリを VS Code で開きます。 VS Code が起動済ならメニューの「ファイル」から「開く…」をクリックし、 プロジェクトのあるディレクトリを選択してください。 code コマンド8を導入していれば、 code {ディレクトリのパス} でも開くことができます。

ビルドの仕方を VS Code へ設定するにはメニューから「タスク」をクリックし、「タスクの構成」を選びます。 初めて設定する場合は、「テンプレートから tasks.json を生成」と出てくるのでそれをクリックし、続けて表示されるビルド設定のテンプレートから任意のものを選びます。

今回は「 Others 」を選択し、手動でビルドの設定をします。

画像 : tasks.json の各テンプレート選択
画像 : tasks.json の各テンプレート選択

するとディレクトリに .vscode/tasks.json が作成されてファイルが開かれた状態になりますので、このファイルにビルドの設定をしていきます。

今回は単純に maven を使ったビルド mvn compile だけ行うビルドタスクを作成してみます。

下記のサンプルのように、label の値を build に、 command の値を mvn compile へ変更します。

tasks.json の設定ができたら、メニューの「タスク」→「タスクの実行…」から実行することができます。 label に設定した値が各タスクの名前に対応しています。

画像 : タスクの実行
画像 : タスクの実行

デバッガ実行環境の設定

次にデバッグを行うための設定を追加します。

メニューから「デバッグ」→「構成の追加…」を選択すると、ワークスペースに .vscode/launch.json が作成されます。

プロジェクト中ですでに main メソッドをもつクラスがあれば、VS Code は自動で launch.json を設定してくれます。必要に応じて構成を追加したり、実行時の引数や環境変数などを設定しましょう。

構成のサンプルを示します。

ある程度直感的だとは思いますが、実行させたい main メソッドのあるクラスを mainClass に、 実行時に渡したい引数は args 、実行時の環境変数を env で指定します。

name はデバッガ起動時にどの構成で起動するかを選択する際に表示される名前に相当します(下の画像)。

デバッガの画面を開くには [⌘ + Shift + D] (Mac)もしくは[Ctrl + Shift + D] (Windows, Linux)を押すか、左のバーにある虫のアイコンをクリックしてください。

画像 : デバッグの構成と構成の選択
画像 : デバッグの構成と構成の選択

ここまで設定できたら、起動したいデバッグ構成を選択して緑の三角ボタンを押せば、プログラムとデバッガが起動します。

画像 : デバッガ起動サンプル
画像 : デバッガ起動サンプル

その他

お気づきの方もいるとは思いますが、 .vscode/{tasks,launch}.json はただのテキストファイルなので、これをそのままコピーすれば同様の構成を他プロジェクトで使いまわすことができます。 また、 Git リポジトリに含めておけば git clone してビルドからデバッグまで、環境構築用のドキュメントなど使わずともそれぞれ同じ構成で開発ができるので楽ちんですね。


それではよき Java 開発ライフを。


  1. Eclipse、NetBeans は Java 以外の一部開発にも対応しています。

  2. 筆者が一番好きなIDE(というかエディタ)はVim一択です。

  3. https://blogs.msdn.microsoft.com/visualstudio/2015/04/29/build-2015-news-visual-studio-code-visual-studio-2015-rc-team-foundation-server-2015-rc-visual-studio-2013-update-5/

  4. Github 上の vscode リポジトリはリリースされている VS Code のベースとはなっているもののライセンスを含め別物です。( https://github.com/Microsoft/vscode/issues/60#issuecomment-161792005

  5. 筆者は「 Windows キー押下 → [cmd] と入力 → Enter 」と操作して起動するのが鉄板です。

  6. Lombok は setter や getter といったいわゆる「ボイラープレートコード」を自動付与してビルドしてくれるライブラリです。

  7. https://github.com/redhat-developer/vscode-java/wiki/Lombok-support

  8. [⌘ + Shift + P] (Mac)か「Ctrl + Shift + P」(Windows、Linux)でコマンドパレットを開き、「shell」と検索すると「Shell Command: Install ‘code’ command in PATH」と出るので、それをクリックすることでインストールできます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

twelve + 19 =