知らんがな。
というわけで、次のCode。
package jp.co.bbreak.sokusen._1._2;
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!!");
}
}
VScodeはJava拡張Packとかインストしてある。さらにCode Runnerもインストした。Code Runnerがあると、Ctrl + Alt + n でコンパイル・実行するのである。それがないと手動で、
>javac hage.java
>java hage
と二段階の操作が必要である。ああ、Code Runner ありがたや!! 鹿児島市にあるのは、やまがたや !! てへ。
ところが上のCodeは手動でもCode Runnerでも実行シナイ。ダーーメ!!
頭の packageのところをコメントアウトしたら動作した。うーーむ。
これはJavaの本の、出版社サイトからDLしたものである。その本ではEclipseをインストールしていたからなあ。Eclipse用なのか? 知らんがな。
しかし、この短い例題のためにEclipseでProject作ってpackage作って・・・とかバカげている。そんなのは、バカタレの鎌足!!
では、Pythonでjava ファイルの頭のpackageの前に//を追加しちまうか、何十もファイルがあるからさー・・・・と思ったが、待てよ、と。
https://yukituna.com/2091/
これはどうだ。。。。。 とにかくインストールだ。
そして、F5を押したのだ。すると動作したぜーーーーー。
ってか、そのF5が効いて、つまりさっきインストールしたMicrosoftのツールが効いて実行したのかどうかはオラ 知らん。だって、今までF5を押したことがないもの。
以上、俺んちのマシーン Win 10 (1903) のVScode(最新だがinsider版)では、java fileの頭にpackageの記述がある場合にはCode Runner, 手動ともに実行不可であるが、F5押すと動作するという状況である。
画面の左枠がDebuggerに代わるのでMicrosoftのツールはDebuggerを起動するのだろう。その際にパラメータ調整もいろいろ伴っていると想像する。
VScode Editorはオラはutf-8で使用している。この場合にjava source codeに日本語があると手動では、javac –encoding utf-8 というオプションが必要であった。Code Runnerはそれを自動でやっていると思われる。
しかし、出力がTerminalの場合には文字化けする。Terminalはcp932だからだ。この場合には手動で、chcp 65001と叩く。その後はTerminal出力で文字化けはない。
そして、F5だ。その場合にもTerminalでの文字化けはない。なんでだ? と思ってchcp と叩いたら、65001に変わっていた。つまり、Microsoftは気が利くのだ。
うーーむ。素晴らしい!! 気が利かないのは出版社だよな(笑)