ツール  /  VSCode  /  環境構築

VSCode × Java — 環境構築と必須 Plugin・便利 Plugin

JDK のセットアップから VSCode の Java 拡張機能、ビルドツール連携(Maven / Gradle)、 コード品質ツール(CheckStyle・SpotBugs)、Spring Boot 開発支援まで網羅した完全ガイドです。

1. JDK のインストールと JAVA_HOME 設定

VSCode で Java を開発するには JDK(Java Development Kit)が必要です。 代表的な配布元を以下にまとめます。LTS 版の JDK 21 または JDK 17 の使用を推奨します。

配布元特徴URL
Eclipse Temurin(Adoptium) OpenJDK のコミュニティビルド。商用でも無償で使える定番ディストリビューション。 adoptium.net
Microsoft Build of OpenJDK VSCode と親和性が高い Microsoft 製ビルド。Azure での利用に向いている。 aka.ms/download-jdk
Oracle JDK 商用利用にはライセンスが必要(LTS サポートあり)。Oracle が正式サポート。 oracle.com/java
Amazon Corretto AWS が提供する OpenJDK。AWS 環境での本番運用に最適。 aws.amazon.com/corretto

JAVA_HOME の設定(Windows)

PowerShell
# 環境変数を確認
[System.Environment]::GetEnvironmentVariable("JAVA_HOME", "Machine")

# 設定する場合(管理者権限)
[System.Environment]::SetEnvironmentVariable(
  "JAVA_HOME",
  "C:\Program Files\Eclipse Adoptium\jdk-21.0.x.x-hotspot",
  "Machine"
)

# PATH に追加されているか確認
java -version
javac -version

JAVA_HOME の設定(macOS / Linux)

bash — ~/.zshrc または ~/.bashrc
# JAVA_HOME を設定
export JAVA_HOME=$(/usr/libexec/java_home -v 21)  # macOS
# export JAVA_HOME=/usr/lib/jvm/temurin-21       # Linux

export PATH="$JAVA_HOME/bin:$PATH"

# 反映
source ~/.zshrc

# 確認
java -version
javac -version

2. 必須 Plugin — Extension Pack for Java

Microsoft が提供する Extension Pack for Java をインストールするだけで、 Java 開発に必要な主要拡張機能が一括導入されます。 VSCode のマーケットプレイスで「Extension Pack for Java」を検索してインストールしてください。

Plugin 名種別役割
Language Support for Java™ by Red Hat 必須 コード補完・インテリセンス・リファクタリング・エラー検出の中核エンジン。Eclipse JDT を内蔵。Java 開発の事実上の標準拡張。
Debugger for Java 必須 ブレークポイント・ステップ実行・変数ウォッチ・評価式など Eclipse 並みのデバッガーを VSCode 上で実現。
Test Runner for Java 必須 JUnit 4/5 · TestNG のテストをエディタ上で実行・結果確認できる。テストメソド横のアイコンをクリックするだけで実行可能。
Maven for Java 必須 Maven プロジェクト管理・Goals の実行・依存関係の追加をサイドバー UI から操作できる。
Project Manager for Java 必須 Java プロジェクト構造をサイドバーに表示。依存 JAR・JRE の管理、パッケージ・クラスの作成をウィザードで行える。
IntelliCode 必須 AI ベースのコード補完。使用頻度と文脈から最も適切なサジェストを上位表示する。

3. 便利 Plugin

上記の必須 Pack に加えて、以下の拡張機能を追加することで開発効率をさらに高められます。

コード品質・スタイル

Plugin 名種別役割
Checkstyle for Java 便利 Google / Sun コーディング規約に沿ったスタイルチェックをリアルタイムに実行。違反箇所にインラインで警告を表示。
SonarLint 便利 バグ・セキュリティ脆弱性・コードスメルをリアルタイム検出。SonarQube / SonarCloud と連携可能。
Prettier - Code formatter 便利 Java 以外のファイル(HTML・CSS・JSON 等)の整形に活用。Java 本体は Red Hat 拡張の formatter を使う。

Lombok・コード生成

Plugin 名種別役割
Lombok Annotations Support for VS Code 便利 Lombok(@Data・@Builder・@Slf4j 等)のアノテーションを VSCode が認識できるようにする。Lombok を使うプロジェクトでは必須級。
Java Code Generators 便利 toString / equals / hashCode / getter / setter / builder を右クリックメニューから自動生成。Lombok を使わないプロジェクト向け。

Spring Boot 開発

Plugin 名種別役割
Spring Boot Extension Pack 便利 Spring Boot Dashboard・Spring Initializr・Spring Boot Tools が同梱。アプリの起動・停止・エンドポイント一覧をサイドバーで管理。
Spring Boot Dashboard 便利 複数の Spring Boot アプリを一覧表示・個別起動。Bean の一覧や Actuator エンドポイントの確認もできる。
Spring Initializr Java Support 便利 コマンドパレットから Spring Boot プロジェクトを新規作成。Group / Artifact / Dependencies をウィザード形式で選択するだけ。

その他の便利ツール

Plugin 名種別役割
Gradle for Java 便利 Gradle タスクをサイドバーから実行。build / test / clean などをワンクリックで操作。Maven for Java の Gradle 版。
XML (Red Hat) 便利 pom.xml・applicationContext.xml などの XML ファイルの補完・バリデーション・フォーマットに対応。
vscode-java-decompiler 便利 クラスファイルや JAR 内のクラスをデコンパイルして表示。ライブラリのソースが手元にない場合に便利。
REST Client 便利 .http ファイルから REST API をエディタ内でテスト実行。Spring Boot の API 開発時に Postman の代替として活用。
GitLens 便利 行レベルの git blame・ブランチ比較・ファイル変更履歴をエディタ内で確認。チーム開発での変更追跡に必須。

4. Java 向け settings.json

JSON — settings.json(Java 向け設定抜粋)
{
  // ── Java ランタイム設定 ──────────────────────────
  "java.jdt.ls.java.home": "C:\\Program Files\\Eclipse Adoptium\\jdk-21.0.x.x-hotspot",
  // 複数 JDK を管理する場合
  "java.configuration.runtimes": [
    {
      "name": "JavaSE-17",
      "path": "C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.x.x-hotspot"
    },
    {
      "name": "JavaSE-21",
      "path": "C:\\Program Files\\Eclipse Adoptium\\jdk-21.0.x.x-hotspot",
      "default": true
    }
  ],

  // ── コード補完・インテリセンス ────────────────────
  "java.completion.enabled": true,
  "java.completion.importOrder": ["java", "javax", "org", "com", ""],
  "java.completion.filteredTypes": ["java.awt.*", "com.sun.*"],
  "java.autobuild.enabled": true,
  "java.maxConcurrentBuilds": 1,

  // ── フォーマット ──────────────────────────────────
  "[java]": {
    "editor.defaultFormatter": "redhat.java",
    "editor.tabSize": 4,
    "editor.formatOnSave": true,
    "editor.formatOnType": false
  },

  // ── テスト ────────────────────────────────────────
  "java.test.config": {},
  "java.test.defaultConfig": "",

  // ── Checkstyle ────────────────────────────────────
  "java.checkstyle.configuration": "${workspaceFolder}/checkstyle.xml",
  "java.checkstyle.version": "10.12.5",

  // ── Lombok ────────────────────────────────────────
  "java.jdt.ls.vmargs": "-javaagent:/path/to/lombok.jar",

  // ── デバッグ ──────────────────────────────────────
  "java.debug.settings.hotCodeReplace": "auto",
  "java.debug.settings.enableRunDebugCodeLens": true
}
⚠️ パスの記述に注意
Windows の場合、パスの区切り文字は \\(バックスラッシュを二重に)または /(スラッシュ)で記述します。 環境変数 %JAVA_HOME% は settings.json では展開されないため、フルパスを直接指定してください。

5. ビルドツール連携(Maven / Gradle)

Maven

「Maven for Java」拡張インストール後、左サイドバーに Maven アイコンが表示されます。 プロジェクトを開くと pom.xml を自動認識し、 Lifecycle・Plugins・Dependencies をツリー表示します。

💡 mvn コマンドが認識されない場合
settings.json に Maven のパスを明示します。
JSON — settings.json
{
  "maven.executable.path": "C:\\tools\\apache-maven-3.9.6\\bin\\mvn.cmd",
  "maven.terminal.customEnv": [
    { "environmentVariable": "JAVA_HOME", "value": "C:\\Program Files\\Eclipse Adoptium\\jdk-21.0.x.x-hotspot" }
  ]
}

Gradle

「Gradle for Java」拡張インストール後、build.gradle または build.gradle.kts を 自動認識してプロジェクト構成を表示します。 Gradle Wrapper(gradlew)が存在する場合は自動的にそちらを優先します。

JSON — settings.json
{
  "java.import.gradle.enabled": true,
  "java.import.gradle.wrapper.enabled": true,
  "java.import.gradle.version": "8.7",
  "java.import.gradle.java.home": "C:\\Program Files\\Eclipse Adoptium\\jdk-21.0.x.x-hotspot"
}

6. デバッグ設定

F5 でデバッグ実行を開始できます。 初回は .vscode/launch.json の生成を求められます。 「Java」を選択すると自動生成されます。

JSON — .vscode/launch.json
{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "java",
      "name": "Launch App",
      "request": "launch",
      "mainClass": "com.example.MyApp",
      "projectName": "my-project",
      "args": "",
      "vmArgs": "-Xmx512m -Dspring.profiles.active=local",
      "env": {
        "MY_ENV": "local"
      }
    },
    {
      "type": "java",
      "name": "Attach to Remote",
      "request": "attach",
      "hostName": "localhost",
      "port": 5005
    }
  ]
}
リモートデバッグ
Spring Boot アプリを以下のオプションで起動すると、VSCode から「Attach to Remote」設定でアタッチできます。
-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005

7. Spring Boot 開発

Spring Boot Extension Pack を導入すると、左サイドバーに Spring Boot Dashboard が追加されます。

  • アプリの 起動・停止・再起動をワンクリックで実行
  • 登録された Bean 一覧を確認(起動中のみ)
  • Actuator エンドポイント(/health・/metrics 等)をブラウザから確認
  • application.yml / application.propertiesキー補完・バリデーション
  • コマンドパレットから Spring Initializr でプロジェクト新規作成
JSON — Spring Boot 向け settings.json 追記例
{
  "spring-boot.ls.java.home": "C:\\Program Files\\Eclipse Adoptium\\jdk-21.0.x.x-hotspot",
  "boot-java.live-information.automatic-tracking.enabled": true,
  "boot-java.live-information.fetch-data.delay-ms": 5000
}

8. まとめ

カテゴリPlugin / 設定ポイント
JDKEclipse Temurin / Microsoft OpenJDKLTS 版(17 or 21)を推奨。JAVA_HOME を必ず設定。
必須 PackExtension Pack for Java1 クリックで Language Support・Debugger・Test Runner・Maven が揃う。
品質Checkstyle・SonarLintリアルタイムの規約違反チェック・バグ検出で品質底上げ。
LombokLombok Annotations SupportLombok 使用プロジェクトでは必須。
Spring BootSpring Boot Extension Packダッシュボードで起動管理、Initializr で新規作成。
デバッグlaunch.jsonAttach to Remote でリモートデバッグも可。