(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【VSCode】インストールからJavaのサンプルコードを動かすまで

スポンサーリンク

はじめに

WindowsPCでJavaのコードを書く際には今までEclipseを利用していたのですが、流行りのVisualStudioCodeを入れて動かしてみました。

HelloWorld級のプログラムを動かすにしても、いくつか注意ポイントがあったので記事にしています。

Visual Stdui Code のインストール

以下を辿ってWinwdows10用のインストーラを取得します。今回は「VSCodeUserSetup-x64-1.42.0.exe」でした。


インストーラを起動すると、「Microsoft Visual Studio Code(User)セットアップ」という名のウインドウに以下項目が表示され

インストール先(\AppData\Local\Progurams\Microsoft VS Code)
プログラムグループ(Visual Studio Code)
追加タスク(PATHへの追加)

再起動するとPATHも反映されてメニューから起動できます。

f:id:mtiit:20200213162544p:plain
スタート画面

ちなみにファイルの実体は以下にありました。

C:\Users\XX\AppData\Local\Programs\Microsoft VS Code\Code.exe

Java用の拡張を導入する

メニューにある「View -> Extensions」から「Java Extension Pack」をインストールします。

検索バーに入れると以下のような概要と共に表示されます。

Java Extension Pack is a collection of popular extensions that can help write, test and debug Java applications in Visual Studio Code.

以下のインストールボタンを押すとJavaの開発セットがVSCodeに取り込まれます。

f:id:mtiit:20200213163120p:plain
Java開発セット

Javaのパスを設定に反映させる

画面の歯車のとろこから「Setting」を選択して以下のように「java.home」と入れると以下のようにコンフィグファイルを編集するリンクが表示されます。

f:id:mtiit:20200216141421p:plain
java.homeを設定する

このファイルの実体は以下なので直接編集することも可能です

C:\Users\XX\AppData\Roaming\Code\User\settings.json

以下のようにJDKが置かれているパスを記載しますが

{
    "java.home": "C:\\Program Files\\AdoptOpenJDK\\jdk-11.0.6.10-hotspot"
}

場合によっては以下メッセージのようにエラーとなる場合があります。

The JAVA_HOME environment variable (C:\Program Files\XX) does not point to a JDK.

試行錯誤しましたが、指定したJavaのバージョンが古いこと(Java8でした)が問題と考えてJava OverViewの画面に表示されている以下から新バージョンをインストールしました。

f:id:mtiit:20200215205725p:plain
Javaの新バージョンをインストール

今回は「OpenJDK11U-jdk_x64_windows_hotspot_11.0.6_10.msi」がインストーラとして以下画面のようにインストールを進めました。

f:id:mtiit:20200216115249p:plain
JDKのインストール

このPATHを再設定するとエラーはなくなりました。

サンプルコードを動かす

「Ctrl+Shift+P」から「Java: Create Java Project」を選択してサンプルアプリを動かします。

プロジェクトディレクトリを作成するディレクトリを選択するとそのプロジェクトディレクトリ配下に以下のようなファイル群ができていました。

$ tree -a
.
├── .classpath
├── .project
├── .settings
│   └── org.eclipse.jdt.core.prefs
├── bin
│   └── app
│       └── App.class
└── src
    └── app
        └── App.java

App.javaは以下で

package app;
public class App {
    public static void main(String[] args) throws Exception {
        System.out.println("Hello Java");
    }
}

メニューから「Debug > Start Debugging」を押下すると以下のようなコマンドが走り

cd 'c:\Users\XX\Documents\JavaProject'; & 'C:\Users\XX\.vscode\extensions\vscjava.vscode-java-debug-0.24.0\scripts\launcher.bat' 'C:\Program Files\AdoptOpenJDK\jdk-11.0.6.10-hotspot\bin\java' '-Dfile.encoding=UTF-8' '-cp' 'C:\Users\XX\Documents\JavaProject\bin' 'app.App' 

所定の結果が出力されます。

Hello Java

ちなみに「JavaProject」を作成することにも意味があり、例えばテキストファイルにて.javaファイルを用意しても以下のようにエラーになりました。import文の処理等を自動でやってくれ

Exception in thread "main" java.lang.Error: Unresolved compilation problem:

自動で作成された以下が効いているのかもしれません。

.classpath
.project
.settings

終わりに

Visual Stduio Code で Java を利用しよう という記事は多々ありますが

  • PATHが通らずエラーとなる
  • プロジェクトを作成しないとコンパイルに失敗する

を書いている記事がなかったので備忘録として残しておきます。

同様の事象で困っていた方の参考になれば幸いです。