VS CodeでJavaアプリを開発していて困ったのでメモ。
[vmArgs多すぎ問題]
こんな感じで、JavaのVM引数(vmArgs)の起動設定をlaunch.jsonに書いていた。
{ "version": "0.2.0", "configurations": [ { "type": "java", "name": "Launch App (single line)", "request": "launch", "mainClass": "com.kdnakt.simple.App", "vmArgs": "-Dfoo=hoge1 -Dbar=fuga1", "projectName": "simple-project" } ] }
しかし、VM引数の数が増えてきたので、横に長くなり、画面に収まらないという問題が発生した。
[vmArgsを配列で設定する]
vscode java launch.json vmargsとかでググってたら、このissueに辿り着いた。
vmArgsを配列で設定していたのが動かなくなった、というissueらしい。修正されているようなので、普通に真似して配列にすれば動きそう。
以下のように修正して試したら問題なく動作した。
{ "version": "0.2.0", "configurations": [ { "type": "java", "name": "Launch App (array)", "request": "launch", "mainClass": "com.kdnakt.simple.App", "vmArgs": [ "-Dfoo=hoge2", "-Dbar=fuga2", ], "projectName": "simple-project" } ] }
そして、よく見たらちゃんと公式にも書いてある。
vmArgs - The extra options and system properties for the JVM (for example -Xms<size> -Xmx<size> -D<name>=<value>), it accepts a string or an array of string.
(強調は筆者)
だってVS Code上の説明では出てこなかったんだもん...(言い訳)。公式サイトと同じ説明を表示して欲しい。いつか余裕があったらプルリクエストを出しておこう...。