Java学習環境のためのエクテンションガイド
Javaは、汎用性の高いプログラミングであり、OSといった環境に依存しない大規模なシステム開発に使われている。また、Wikiによる記事によると、2019年時点でサーバー・クライアントモデルのWebアプリケーションで最もよく使われているプログラミング言語とされている。本記事では、Javaを使ったプログラミング学習環境について述べる。
Pleiades、Eclipse、IntelliJ IDEAといった統合環境を使いたい場合は、この記事をとばしていただいても構わない。
前記事「プログラミング学習のための環境を作ろう」を読んでおり、学習環境の準備ができていることを前提としている。まだ、読んでいない方は、必ず読んでおいていただきたい。
環境
- Linux mint 20.3 MATE Edition
- Visual Studio Code 1.66.2
- Extension Pack for Java 0.22.4
- Code Runner 0.11.7
- Indent-Rainbow 8.3.1
エクステンションガイド
Javaのプロジェクトを作る
学習用javaフォルダを作ってそこにファイルを作成していってもいいが、Javaのコードを見てみると、次のようになっている。空のファイルからだと下記のコードを手動入力することになる。覚えてしまえば何でもないことだが、できるだけ楽したい。
public class App {
public static void main(String[] args) throws Exception {
}
}
そこでJavaのプロジェクトを作ると、必要なフォルダ、プロジェクトのsettings.json、デフォルトのJavaプログラムを作成してくれる。お決まりのHello worldを表示するJavaプログラムだが、楽したい場合は利用しよう。
Visual Studio Codeを起動し、Ctrl+Shift+Pを押してコマンドパレットを表示する。「Java」と入力すると、コマンド一覧が表示される。一覧の中から「Java: Create Java Project..」を選択する。
プロジェクトのタイプが、いくつか候補が表示されるが「No build tools」を選択する。
「Select the project location」をクリックして、プロジェクトを作成するフォルダを選択する。
プロジェクト名を聞かれるので適当に入力してEnterを押せば終わりだ。
srcフォルダにはApp.javaというファイルが作られている。Hello worldを表示するものだが、このファイルを利用してJavaを学習していこう。ちなみにApp.javaを開き、.vscodeフォルダにあるsettings.jsonを開くと、binフォルダが作成され、コンパイルされたApp.classが作成されたりする。
Java Extension Pack
Language support for Java、Debugger for Java、Test Runner、Maven for Java、Project Manager for JavaなどJavaによる開発に必要な拡張機能がインストールされる。この拡張機能はJava開発においても優秀と言えるものである。必ず導入しておきたい。学習においては、各拡張機能の使い方や設定については、知らなくても構わない。必要になったときに学習するといいだろう。ここでは、Language support for Java、Debugger for Javaの2つの拡張機能について簡単に解説していく。
Language support for Java
コード補完を始め、コードスニペット、ハイライト、コードフォーマットなどをサポートする拡張機能である。サポート範囲は非常に広い。この拡張機能はJavaのバージョンが11から17までをサポートする。現在、Javaは17だが18になれば、この拡張機能もバージョンアップすると思われる。
使い方
インストールするだけでよい。Javaファイルを開いたとき拡張機能がアクティブになる。
設定
不要
Debugger for Java
軽量のJava用デバッガー。他のデバッガーと同じように、ブレークポイント、ステップイン、ステップアウト、変数、コールスタックなどの機能を持つ。
使い方
まず、srcフォルダにApp.javaというファイルが作成されているので、このファイルの内容を変更して適当にコードを記述する。
public class App {
public static void main(String[] args) throws Exception {
String str;
char s;
int i;
str = "Hello World";
for (i = 0; i < str.length(); i++) {
s = str.charAt(i);
System.out.print(s);
}
System.out.println();
}
}
次にデバッグに必要な.launch.jsonファイルを作成する。実行とデバッグアイコンをクリックするか、Ctrl+Shift+Dを押して、実行とデバッグのパネルを表示し、「launch.jsonファイルを作成します」をクリックして作成する。
作成したらlaunch.jsonを閉じて、Javaコードの適当な位置にブレークポイントを設定してF5を押す。すぐにデバッグできる状態になる。
ブレークポイントで実行が停止状態になっているので、上部に表示されているコントロールパネルで続行・ステップオーバ・ステップイン・ステップアウトなどでステップ実行させることができる。
【豆知識】
プログラムの1行目と2行目の間に「Run | Debug」が挿入されている。実行はRun、デバッグはDebugをクリックすると、それぞれ実行される。ちなみに、デバッグの実行にlaunch.jsonは作成しなくとも可能である。
設定
特に設定を変更しなくとも、デフォルト状態のままでも構わない。
Code Runner
ワン・クリックでコードを実行してくれる。ターミナルから実行する必要はない。一応、拡張機能に取り上げたが、なくともワン・クリックで実行もしくはデバッグが行える(上記【豆知識】を参照)。
使い方
Ctrl+Alt+Nで実行する。それ以外もあるがクリックしていられない。ただし、このままだと、srcフォルダの中に実行ファイルである.classが作成されてしまうので注意が必要だ。ちなみに、上記の豆知識で述べた実行とCode Runnerによる実行は別である。
設定
srcフォルダ内に実行ファイルを作成してほしくない場合は設定する。Ctrl+, を押して設定画面を開き、検索欄に「code-runner: Executor Map」と入力する。setting.jsonで編集をクリックする。”code-runner.executorMap”: {}の中に次の1行を追加する。
"java": "cd src/ && javac -d ../bin $fileName && java -cp ../bin $fileNameWithoutExt",
なお、この設定はプロジェクトフォルダ内からsrcおよびbinフォルダにアクセスする場合である。cdコマンドでsrcフォルダに移動している場合は、エラーとなるので注意されたい。
Indent-Rainbow
インデントを色分けしてくれる何気に便利な拡張機能。プログラミングするならぜひ入れておきたいもの。
使い方
インストールのみ。
設定
不要だが、インデントの色を変更したい場合は設定を変更しよう。Ctrl+,で設定画面を開き、検索欄に「indent-rainbow」と入力する。Indent Raibow: Colorsのsetting.jasonで編集をクリックする。下記のコードを任意の位置に記述する。一番外側の{}の外に記述しないこと。
インデントの色を変更してみた。保存したら、Visual Studio Codeを再起動する。ちなみに、1個しか書かない場合は、インデントの色がすべて同じになるので注意が必要である。下記では4つのインデントまで指定している。5つ目は最初の色になる。基本的に4個あたりまで色を指定しておくといいだろう。もとに戻すには、ブロック丸ごと削除する。
,
"indentRainbow.colors": [
"rgb(252, 175, 62)",
"rgb(252, 233, 79)",
"rgb(138, 226, 52)",
"rgb(114, 159, 207)"
],
ターミナルからコードを実行
ターミナルからコンパイル・実行する方法を紹介する。プロジェクトフォルダ内からコンパイル・実行するものとする。
コンパイル
-dオプションはクラスファイルの出力先を指定する。
javac -d bin/ src/App.java
実行
オプションの-cpはclasspathという意味である。ちなみに-classpathと指定してもよい。
java -cp bin/ App
では、よいプログラミングライフを!
関連記事:プログラミング学習のための環境を作ろう