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..」を選択する。

Ctrl+Shift+Pを押して、Java Projectを作成する
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の作成
launch.jsonの作成

作成したらlaunch.jsonを閉じて、Javaコードの適当な位置にブレークポイントを設定してF5を押す。すぐにデバッグできる状態になる。

デバッグ状態になっている
デバッグ状態

ブレークポイントで実行が停止状態になっているので、上部に表示されているコントロールパネルで続行・ステップオーバ・ステップイン・ステップアウトなどでステップ実行させることができる。

【豆知識】
プログラムの1行目と2行目の間に「Run | Debug」が挿入されている。実行はRun、デバッグはDebugをクリックすると、それぞれ実行される。ちなみに、デバッグの実行にlaunch.jsonは作成しなくとも可能である。

設定

特に設定を変更しなくとも、デフォルト状態のままでも構わない。

Code Runner

ワン・クリックでコードを実行してくれる。ターミナルから実行する必要はない。一応、拡張機能に取り上げたが、なくともワン・クリックで実行もしくはデバッグが行える(上記【豆知識】を参照)。

使い方

Ctrl+Alt+Nで実行する。それ以外もあるがクリックしていられない。ただし、このままだと、srcフォルダの中に実行ファイルである.classが作成されてしまうので注意が必要だ。ちなみに、上記の豆知識で述べた実行とCode Runnerによる実行は別である。

Code RunnerによるJavaコードの実行
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

インデントを色分けしてくれる何気に便利な拡張機能。プログラミングするならぜひ入れておきたいもの。

使い方

インストールのみ。

Indent Rainbowによるインデントの色分け
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)"
],
Indent Rainbowのインデントの色を変更してみた
Indent Rainbowのインデントの色を変更

ターミナルからコードを実行

ターミナルからコンパイル・実行する方法を紹介する。プロジェクトフォルダ内からコンパイル・実行するものとする。

コンパイル

-dオプションはクラスファイルの出力先を指定する。

javac -d bin/ src/App.java

実行

オプションの-cpはclasspathという意味である。ちなみに-classpathと指定してもよい。

java -cp bin/ App

では、よいプログラミングライフを!

関連記事プログラミング学習のための環境を作ろう