【1点目】
args[]に値を入れるにはどうしたらよいのでしょうか?
[1] 手動でコンパイル実行
手っ取り早いのは、ターミナルからMain.javaファイルがあるディレクトリに移動して手動でコンパイル、引数を指定して実行。
[2] launch.jsonで指定
1.javaファイルがあるフォルダを[ファイル]-[フォルダを開く]で開く。
2.[実行]メニュー - [構成の追加]
※1.で開いたフォルダに.vscodeフォルダが作られ、その中にlaunch.jsonが作成されます
3.launch.jsonが開かれていると思うので、[構成の追加]ボタンをクリック 選択肢から
{} Java: Launch Program With Arguments Promptを選択
launch.jsonが以下のようになっているのを確認して、launch.jsonを保存
json
1{
2 // IntelliSense を使用して利用可能な属性を学べます。
3 // 既存の属性の説明をホバーして表示します。
4 // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
5 "version": "0.2.0",
6 "configurations": [
7 {
8 "type": "java",
9 "name": "Launch with Arguments Prompt",
10 "request": "launch",
11 "mainClass": "",
12 "args": "${command:SpecifyProgramArgs}"
13 },
14 {
15 "type": "java",
16 "name": "Launch Current File",
17 "request": "launch",
18 "mainClass": "${file}"
19 },
20 {
21 "type": "java",
22 "name": "Launch Main",
23 "request": "launch",
24 "mainClass": "Main",
25 "projectName": "364470_488bff68"
26 },
27 ]
28}
4.エディタウィンドウをMain.javaに変更(Main.javaがエディタタブになければ開いて)、[実行とデバッグ]タブを開き、プルダウンから「Launch with Arguments Prompt」を選択
6.緑の△ボタンをクリックするか、F5で実行すると、引数を入力するプロンプトが開くので引数を入力
7.引数が渡された状態で実行されると思います。
[3] 引数を毎回指定せず固定で実行したい場合
1.[実行]メニュー - [構成の追加]
{} Java: Launch Program in Current Fileを選択
2.nameがLaunch Current Fileなっている構成が追加されます。
3.nameは適当に変更。ここでは「Launch Current File with Argument」に変更しています。
4.下図のようにargsキーを追加し引数を指定
※追加したargsの前の行("mainClass")末尾に「,」追加するのを忘れないように
json
1{
2 // IntelliSense を使用して利用可能な属性を学べます。
3 // 既存の属性の説明をホバーして表示します。
4 // 詳細情報は次を確認してください: https://go.microsoft.com/fwlink/?linkid=830387
5 "version": "0.2.0",
6 "configurations": [
7
8 //ここから追加された箇所
9 {
10 "type": "java",
11 "name": "Launch Current File with Argument",
12 "request": "launch",
13 "mainClass": "${file}",
14 "args": ["11","22","33","44"]
15 },
16 //ここまで追加された箇所
17 {
18 "type": "java",
19 "name": "Launch with Arguments Prompt",
20 "request": "launch",
21 //省略
22 ]
23}
5.Main.javaをエディタタブで選択し、実行とデバッグのプルダウンから3.で変更したnameの構成(Launch Current File with Argument)を選択して実行
※「VSCode launch.json java」などで検索すれば、実行に関して凝ったことができるかと思います。必要に応じて調べてみてください。
【2点目】
VScodeでの実行は、
上のタスクバーにある実行(F5キー)で行って問題はないでしょうか?
何を以って問題とするかわかりませんが、小さなパッケージや単体プログラムを実行するぶんにはプログラムの動作確認に支障はないかと思います。
Mavenなどを使ったJavaプロジェクトを実行する場合については私は判りかねます。
【補足】ターミナルから引き数を指定して実行した際エラーになった件について
F5で実行すると、Windowsであれば例えば以下のような場所にclassファイルが作成されます。
C:\Users\username\AppData\Roaming\Code\User\workspaceStorage\1db5eed5661612a3c260c45b06aa8514\redhat.java\jdt_ws\364470_488bff68\bin\Main.class
\workspaceStorage\以降のパスは恐らくランダムに生成され、VSCodeのウィンドウ単位だったり、フォルダ単位だったりです。
恐らくVSCodeのバージョンアップでパスの構成が変わっていますが、別質問で回答した内容が参考になるかと思います。
https://teratail.com/questions/343055#reply-471567
ターミナルから実行してエラーになったのはカレントディレクトリにクラスファイルがない、classファイルがある場所にclasspathが通ってないためです。
その為以下のようにclasspathを指定すれば、引数を渡して実行できます。ただ現実的な運用ではないですね。
java -classpath C:\Users\username\AppData\Roaming\Code\User\workspaceStorage\1db5eed5661612a3c260c45b06aa8514\redhat.java\jdt_ws\364470_488bff68\bin\ Main 1 2 3 4