月一ペースで怒涛のごとく進化を続けるVisual Studio Code(以下VS Code)だが、最近、Javaのデバッグ実行ができるようになったらしいので、試しにやってみる。
必要なもの
- Visual Studio Code
- 今回は1.17.2を使用。
- Java Development Kit
- 今回は1.8を使用。
- Javaアプリケーションプロジェクト
- Maven/Gradle/Eclipseのいずれか。
- 今回はMavenプロジェクトを使用。
手順
VS Codeを起動
拡張機能Java Extention Pack
をインストールする
- 拡張機能ビューを開く(Ctrl+Shift+X or ⇧⌘X)
- 入力欄に
java pack
とか入力して、Java Extention Pack
を探す。 -
インストール
をクリック - インストールが終わったら
再読み込み
をクリック - なお、
Debugger for Java
とLanguage support for Java for Visual Studio Code
も一緒にインストールされる。
Javaプロジェクトを開く
- 実行させたいJavaプロジェクトをVS Codeで開く。
- この時、「Java runtime could not be located」と怒られたらJDKの設定を行う。怒られなかったら先に進む。
JDKの設定
- ユーザー設定の画面を開く(Ctrl+, or ⌘,)
- 入力欄に
javahome
と入力すると設定項目java.home
が見つかる。 -
java.home
の左横に表示されるペンのアイコンをクリックし、「設定にコピー」をクリックすると、右側に編集可能な設定がコピーされるので、自分の環境のJDKのパスを記入して保存する。 - VS Codeを再起動するか、プロジェクトを一旦閉じて再度開き直す。
実行
- デバッグビューを開く(Ctrl+Shift+D or ⇧⌘D)。
- ビュー上部の歯車アイコン(launch.jsonを開く)をクリックし、「Java」を選択。
- .vscode/launch.jsonファイルが作られ、プロジェクト内の実行可能なクラスごとに設定を自動的に作ってくれる。
- 実行したいクラスを切り替えたい場合は、デバッグビュー上部にあるリストボックスで選択する。
- F5を押してデバッグを実行させる。
- 動いた!
実行結果はデバッグコンソールに表示される。
- ブレークポイントは行番号の左横をクリックすると付く。
- 再度F5で実行するとちゃんと指定箇所で処理が止まり、左側に変数の値も表示される。
- SpringBootとかもちゃんと動くし、ちょっとした調査とか動作確認程度だったらIDEAとかじゃなくてこっちでも良さそう。
使っていて気になったこと
- resourcesフォルダ配下にxmlとかの設定ファイルを置いている時、それらのファイルを更新してもビルドが行なわれない。プロジェクトを読み込み直すと反映される。
- とりあえずは設定ファイルを修正したタイミングで同時に何らかのjavaファイルも更新することで手動対応。