備忘録【入門】:Visual Studio Code/「Java+Command Prompt(UTF-8)」開発環境を構築する

「Visual Studio Code」IDE(Integrated Development Environment:統合開発環境)に「Java」開発環境を構築する(Visual Studio Codeはインストール済みとする)。


下記リンクでJavaの開発環境「Language Support for Java(TM) by Red Hat、Debugger for Java、Java Test Runner、Maven for Java、Project Manager for Java、Visual Studio IntelliCode」をまるごとインストールしてくれる「Java Extension Pack」をインストールする。


Java Extension Pack

https://marketplace.visualstudio.com/items?itemName=vscjava.vscode-java-pack


「Visual Studio Code」に「EvilInspector、Bracket Pair Colorizer 2、」プラグインを導入しています。

実際は もっとプラグインを導入していますが、不要だと思われるので記載は省いています。


JDK(Java Development Kit)をインストールして下さい、JDKをインストールしたら環境変数のPATHを設定して下さい(環境変数の設定などはググって下さい)。

当方はRed HatのOpenJDKをインストールしています(下記)。


Red Hat build of OpenJDK Download | Red Hat Developer

https://developers.redhat.com/products/openjdk/download


Windowsの場合は、必ずWindows OSのbit数を確認して下さい、また現在 「Visual Studio Code」では「JDK-17」が必須のようです。

Windowsの場合、ダウンロードする目安は、「jdk」、「17.0.**」(「*」(アスタリスク)には数字が入る)、Windows OSのbit数が、32bitの場合は「x86」、64bitの場合は「x64」、拡張子は(ZIPでは無く)「MSI」を強く推奨(ただし Red HatのJDK-17は64bit版の「x64」しか無いようですが)。

よって「jdk-17.0.**-x64 MSI」(OpenJDK 17 Windows 64-bit)をダウンロードして下さい。



「Visual Studio Code」でDraw.io(フローチャート作成プラグイン)が使えるようになったらしいです。


入門:Visual Studio Code/開発環境:Draw.io(フローチャート作成プラグイン)

http://ashtarte.pa.land.to/utf8/smt.cgi?r+sara/&bid+000004BD&tsn+000004BD&bts+2021/08/01%2005%3A54%3A52&



【プロジェクト用フォルダを作成】


とりあえず、マイドキュメントに「java000」フォルダを作成。


【Visual Studio Codeを起動】


【基本設定:「Visual Studio Code」の設定】


「Visual Studio Code」の設定方法(1番目の画像を参照)。

左下の歯車アイコンをクリック→[設定]で右側に[設定]パネルが表示される。

[ユーザー]タブを選択、右上の「紙」アイコン「設定(JSON)を開く」をクリックし、「settings.json」ファイルを開く。

[Ctrl]+[F]で検索モードにし、検索ボックに「java.」を入力し、既存の「java.」設定が無いことを確認する。


「settings.json」が空の場合は波括弧を下記のように記述する。


{

}



「settings.json」の設定が既に存在している場合は、下記のように全体が波括弧で囲われているハズで、もし全体が波括弧で囲われてない場合は正常で無いと言うことになります。


{

1行目,

2行目,

n行目,

}



既存の「java.」設定が無いことを確認したら、下記を波括弧の次にコピペして下さい。

なお、「"JDKへのhomeパス"」は実際のパスを設定して下さい。


  "java.home": "JDKへのhomeパス",

  "java.jdt.ls.vmargs": "-Dfile.encoding=utf8",


既存の「terminal.integrated.」設定が無いことを確認したら、下記を その次にコピペして下さい(これはWindowsの場合の設定です)。


  "terminal.integrated.defaultProfile.windows": "Command Prompt",

  "terminal.integrated.profiles.windows": {

    "Command Prompt": {

      "path": [

        "${env:windir}\\Sysnative\\cmd.exe",

        "${env:windir}\\System32\\cmd.exe"

      ],

      "args": [

        "-NoExit",

        "chcp",

        "65001", // UTF-8

      ],

    },

  },



【既存シェルの選択】


(Windowsの場合)既存シェルの選択方法(2番目の画像を参照)。

(統合ターミナルが開いていない場合は)Windowsの場合[Ctrl]+[@]を入力し、統合ターミナルを開く(既に統合ターミナルが開いている場合は[Ctrl]+[@]を入力すると、統合ターミナルが閉じます)。

(画面右下に統合ターミナルが開かれる)統合ターミナルの上部(添付画像の赤で囲まれた部分)で既存シェルが選択可能。

(デフォルトはPowerShell)[既存シェル](添付画像の赤で囲まれた部分)をクリック、[既存シェルの選択]をクリック、コマンド・パレットから[Command Prompt]を選択、[既存シェル](添付画像の赤で囲まれた部分)の右側の[+]をクリック、[既存シェル](添付画像の赤で囲まれた部分)に[cmd]が表示されたらOK。

なお 上記の設定でデフォルトが[Command Prompt]に設定されます。


【プロジェクト用フォルダを開く】


メニュー・バーから[ファイル]→[フォルダを開く]から「java000」フォルダを開く。


【「bin」フォルダを作成】


プロジェクト用フォルダに(classファイル出力用)「bin」フォルダを作成する。


【「java」ファイルを作成】


プロジェクト用フォルダに「Hello.java」を作成し、下記プログラムをコピペし(エラーがなければ)保存する。

※ファイル名はメイン・クラス名に「java」拡張子を付与した名前にしなければエラーになる。


public class Hello{

   public static void main(String[] args){

     System.out.println("Hello World! 今日は、お元気ですか!");

   }

}



しばらくするとmain()メソッドの上に[Run|Debug]が表示されます(表示されるまでに やたら時間がかかる場合がある)、[Command Prompt]で実行するなら それを待つ必要は無い。

標準出力に漢字が含まれてない場合は、[Run]をクリックして実行してやれば良い(標準出力に漢字が含まれていれば文字化けする)。


【javacコマンドによるコンパイル】


classファイルの出力先はbinディレクトリ(実際は事前にbinディレクトリを作成しておかなくてもOK)。

importで参照されているパッケージも、自動的にコンパイルされ、binディレクトリ内に自動的にパッケージ用ディレクトリが生成され、出力される。

※ソースの文字エンコードがUTF-8で保存されている場合。


メイン・クラスがデフォルト・パッケージの場合。


javac -encoding UTF-8 -d bin *.java


メイン・クラスがパッケージの場合、パスの区切りは「/」(半角スラッシュ)でOK(Windowsの場合は「¥」(半角エンサイン)でもOK)。


javac -encoding UTF-8 -d bin <パッケージ・パス>*.java


【javaコマンドによる実行】


javaコマンドによりclassファイルを実行(メイン・クラス名には「class」拡張子は付けてはダメ)。


メイン・クラスがデフォルト・パッケージの場合。


java -Dfile.encoding=UTF-8 -classpath bin <メイン・クラス名>


例.java -Dfile.encoding=UTF-8 -classpath bin Hello


メイン・クラスがパッケージの場合、パスの区切りは「/」(半角スラッシュ)か、「.」(半角ピリオッド)でもOK。


java -Dfile.encoding=UTF-8 -classpath bin <パッケージ・パス><メイン・クラス名>



コメント

このブログの人気の投稿