5
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Visual Studio CodeでJava (その2)

Posted at

Visual Studio CodeでJava (その2)

Windows7のサポートがついに終了したので、Windows10にこれまでの開発環境を構築することにした。
そういえば、1年以上前にこんな記事を書いたのを思い出したので、Javaの開発環境をeclipseやIntelljではなくVSCodeにしてみようと思い、Windows Subsystem for Linux(WSL)のUbuntuに構築するまでを記事にまとめることにした。
以前の記事で、Ubuntuに環境構築する方法はまとめたので、今回は主にWSLとVSCodeの連携をメインに記事にする。

構築する環境

  • Windows 10 Pro 64bit [1809]
  • Windows Subsystem for Linux(WSL)のUbuntu 18.04を前提とする
  • OpenJDK 11 (on Ubuntu on WSL)
  • Visual Studio Code(1.41.x) (on Windows)
    • Remote Develop利用(←重要)

WSLのインストール

普段からLinuxやMacOSを使っている人なら、Windows10でWSLを使うのは当たり前だよね?
公式手順に従ってWSLを有効化し、Ubuntu(18.04)をインストール。

OpenJDKのインストール

Windowsではなく、UbuntuにOpenJDKをインストールする。
今回はver11を利用したが、お好きなバージョンをどうぞ。
WSLのターミナルからaptでインストールすればOK。

$ sudo apt update
$ sudo apt install -y openjdk-11-jdk

VSCodeのインストール

公式サイトからUbuntu版ではなくWindows版のVSCodeをインストールする。
codeコマンドで起動できるようにするためのPATH設定に再起動が必要なので、インストール後にWindowsを再起動する。
WSLのUbuntu上にUbuntu版のVSCodeをインストールするとX-Windowを表示しないと使えないので、今回その方法は採用しない。

拡張機能のインストール

Remote Development

Windows側からWSL側にリモートして安全にファイル編集などができるプラグイン。
WSLだけで開発するなら「Remote WSL」だけでもいいが、「Remote Development」をインストールすると「Remote WSL」も合わせてインストールされ、WSLだけでなくSSH接続できる環境やDockerコンテナにもリモートできるらしい(試していない)。
この記事を書いた時にはなかった拡張機能だが、去年の夏ぐらいにリリースされた。おかげでもうVSCodeでできないことはないんじゃないかと思う。
Emacsのtramp機能と近いイメージ?。WSLでsshfsが使えるともっと便利になるんだが…。

手順としては、「Remote Development」をインストール後、一度VSCodeを終了し、WSLのUbuntuから code コマンドを実行すると使えるようになる。(初回は起動に時間がかかる)
gradleで作成するサンプルプロジェクトを例にすると(詳細は以前の記事を参照)

$ mkdir sample
$ cd sample
$ gradle init --type java-application
$ code .
Installing VS Code Server for ...   ←これが表示されたら起動するまで待つ

Windowsファイアウォールの許可設定などが表示される場合は許可する。
これでWindows版のVSCodeのウィンドウが開き、WSL上で作成したJavaのプロジェクトを開発できる。

Java Extension Pack

以前の記事と同じくインストールする。インストール時に「install on WSL」をクリックして、WSL側にインストールしないと有効にならないので注意。

その他にも必要に応じてgitやgraldeなどのプラグインも検索してインストールするといい。

実行

VSCodeのターミナルもWSLのシェルになっているはず。
ctrl + shift + ` でVSCodeのターミナルエリアから任意のコマンドを実行して動作確認できる。

$ gralde run

tasks.jsonlaunch.jsonを設定するともっと便利になるのだが、詳細は各プラグインのマニュアルを参照してほしい。

さいごに

VSCodeではなく、VS2019でも同様にWSLやSSHサーバにリモートして開発できるみたい。

一昔前はDLLとか.NetとかのMicrosoft言語でしか開発できない場面以外でWindowsを使う気にはなれなかったのだが、最近はそんなこと全然ない。すごい進歩だ。
もうすぐ(2020年4月?)「Windows Terminal」がリリースされるらしいので、まだまだ開発しやすさが増していく気がしてならない。

5
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?