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)
# 環境変数を確認
[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)
# 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
{
// ── 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 をツリー表示します。
settings.json に Maven のパスを明示します。
{
"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)が存在する場合は自動的にそちらを優先します。
{
"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」を選択すると自動生成されます。
{
"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 でプロジェクト新規作成
{
"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 / 設定 | ポイント |
|---|---|---|
| JDK | Eclipse Temurin / Microsoft OpenJDK | LTS 版(17 or 21)を推奨。JAVA_HOME を必ず設定。 |
| 必須 Pack | Extension Pack for Java | 1 クリックで Language Support・Debugger・Test Runner・Maven が揃う。 |
| 品質 | Checkstyle・SonarLint | リアルタイムの規約違反チェック・バグ検出で品質底上げ。 |
| Lombok | Lombok Annotations Support | Lombok 使用プロジェクトでは必須。 |
| Spring Boot | Spring Boot Extension Pack | ダッシュボードで起動管理、Initializr で新規作成。 |
| デバッグ | launch.json | Attach to Remote でリモートデバッグも可。 |