IDE の全体像
VSCode と IntelliJ IDEA は、Java の開発・実行・テスト・デバッグ・リファクタリングを一気通貫で支える統合開発環境です。VSCode は拡張機能で軽量に始められ、IntelliJ は言語・ビルド・デバッグの深い統合で「迷わない」操作が魅力です。どちらも、プロジェクト作成、依存管理(Maven/Gradle)、コード補完、エラー表示、実行構成、ブレークポイント、ステップ実行、テスト、リファクタリングを標準機能でカバーします。
VSCode の基本操作
Java 拡張の導入とプロジェクト作成
VSCode では「Java Extension Pack」を入れると、言語サーバー、Maven/Gradle、デバッグ、テストが揃います。新規プロジェクトはコマンドパレットから作成できます。最小の「Hello, World」を Maven で用意するなら、ターミナルで生成して VSCode で開くのも手早いです。
mvn -q archetype:generate \
-DgroupId=com.example \
-DartifactId=hello \
-DarchetypeArtifactId=maven-archetype-quickstart \
-DinteractiveMode=false
code hello
プロジェクトを開くと、Java ツールが自動でソースを認識します。問題タブにコンパイルエラーが表示され、赤い波線で箇所を示してくれます。
実行・デバッグの起動
エディタのクラスに main があれば、エディタ上部の「Run | Debug」ボタンから実行できます。より柔軟に設定したい場合は、左の「Run and Debug」から構成を作成し、launch.json にメインクラスや環境変数、引数を記述します。ブレークポイントは行番号の左クリックで設定し、デバッグビューでステップイン・オーバー・アウト、変数のウォッチ、コールスタック確認ができます。
依存管理とビルドの連携
Maven/Gradle タブからタスクを選び、compile、test、package を実行できます。pom.xml や build.gradle を編集すると、拡張が自動で同期し、依存ダウンロードとコード補完が更新されます。ビルド失敗時は「ターミナルのログ」と「Problems タブ」の両方を見て、どのソース行が原因かを即特定すると修正が速くなります。
テストの作成と実行
テストクラスには @Test を付け、テストエクスプローラーから個別・一括で実行できます。失敗したテストは差分表示が出るため、期待値と実測値のズレを目視で確認します。デバッグ実行も可能で、テスト内のブレークポイントで停止できます。
IntelliJ IDEA の基本操作
新規プロジェクトと SDK 設定
起動直後の「New Project」で JDK を選び、Maven/Gradle を指定して雛形を作成します。IntelliJ は pom.xml/build.gradle を読むだけで依存を解決し、コード補完とナビゲーションが即有効になります。SDK(JDK)の設定が通っていないと補完もビルドも失敗するため、プロジェクト SDK が意図したバージョンかを「Project Structure」で確認します。
実行構成とデバッグの起動
メインクラスを右クリックして「Run」または「Debug」を選ぶと、構成が自動作成されます。環境変数や JVM オプション、プログラム引数は「Edit Configurations」で編集します。ブレークポイントは行頭の赤丸で設定し、条件付きやヒットカウント、ログ出力の設定ができます。デバッグツールウィンドウで、変数、式評価、スレッド切り替え、コールスタックを一望できます。
リファクタリングとナビゲーション
IntelliJ の強みはリファクタリングの安全性です。名前変更(Rename)、メソッド抽出(Extract Method)、フィールド抽出、シグネチャ変更(Change Signature)は参照元の追従まで自動で行われ、コンパイルが通る形に整えてくれます。ナビゲーションはクイック検索(Shift+Shift)、宣言へ移動(Ctrl/⌘+B)、実装へ移動(Ctrl/⌘+Alt+B)、使用箇所を検索(Alt+F7)が基本です。
Maven/Gradle の連携
右側の Maven/Gradle ツールウィンドウからタスクを実行できます。pom.xml を編集すると自動で再インポートされ、依存が同期されます。ビルドに失敗した場合は、下部の「Build」ログと、該当ファイルの波線エラーから直接該当箇所へジャンプして修正します。
両 IDE 共通の重要ポイント(深掘り)
実行構成は「入力・環境・出力」を一箇所で管理する
プログラム引数、環境変数、カレントディレクトリ、JVM オプションを実行構成へ集約すると、再現性が高まり、デバッグやテストのやり直しが速くなります。失敗したときは「構成の違い」を最初に疑い、ローカルと CI、開発機と本番相当の差を埋めます。
ブレークポイントと式評価で「事実」を確かめる
疑わしい行の直前に止め、ステップオーバーで前後差を見ます。式評価で map.containsKey(k)、i < a.length、Objects.equals(a,b) など「なぜこの枝へ進んだか」を即確認します。条件付きブレークポイントを使うと大量データでもピンポイントに止められます。
問題は最小コードに切り出すと速い
巨大なアプリを止めるより、独立した main や単体テストへ切り出して再現し、そこでデバッグすると素早く原因へ到達できます。外部依存はスタブ・ダミーに置き換え、ロジックだけに集中します。
例題で身につける(VSCode / IntelliJ ともに同じ流れ)
Hello, World の作成と実行
最小クラスを作り、エディタから実行します。
package com.example;
public class App {
public static void main(String[] args) {
System.out.println("Hello, World");
}
}
JavaVSCode は「Run」ボタン、IntelliJ は右クリック「Run」で実行。出力が見えたら、実行構成に引数を追加して "Hello, " + args[0] のように動的化し、引数が渡っているかをコンソールで確認します。
ブレークポイントとステップ実行
配列境界の典型バグを用意し、停止→差分確認→修正の一連を体験します。
int[] a = {10, 20, 30};
for (int i = 0; i <= a.length; i++) { // 誤り:<=
System.out.println(a[i]); // ここにブレークポイント
}
Java停止時に i と a.length を確認し、最後の周回で範囲外になる事実を見て、< に直します。修正後に再実行して正常終了を確認します。
テスト作成とデバッグ
テストを作り、失敗時の差分を見ます。
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
class PriceCalcTest {
@Test void taxed_should_round_tax() {
int subtotal = 999;
double rate = 0.1;
int total = taxed(subtotal, rate);
assertEquals(1099, total);
}
static int taxed(int subtotal, double rate) {
int tax = (int) Math.round(subtotal * rate);
return subtotal + tax;
}
}
Javaテストランナーで実行し、失敗ならテスト内でデバッグを開始。subtotal * rate、Math.round(...)、subtotal + tax の値変化をステップで確認し、仕様どおりかを数値で確かめます。
つまずきやすいポイントと対処
JDK/SDK の未設定・不一致
補完が効かない、エラーが消えないときは、JDK のパスとバージョン設定を再確認します。VSCode は拡張の Java Home、IntelliJ は Project SDK と Language Level が一致しているかが要点です。
依存の未同期
pom.xml/build.gradle 更新後にエラーが続くときは、再インポート・再同期を実行します。プロキシや社内リポジトリが必要な環境では、設定が正しいかも合わせて確認します。
実行構成の差で「動いたり動かなかったり」
引数・環境変数・作業ディレクトリが異なると再現できません。構成にまとめ、チームで共有(.run 構成や .vscode/launch.json)するとブレが減ります。
仕上げのアドバイス(重要部分のまとめ)
VSCode は軽快に始められ、拡張で必要十分の機能が整います。IntelliJ はプロジェクト・依存・リファクタリング・デバッグが密に統合され、迷いにくいのが強みです。どちらでも「JDK設定→プロジェクト作成→実行構成→ブレークポイント・ステップ→テスト→リファクタリング」の型を身につけると、開発の流れが滑らかになります。問題に遭遇したら、設定と構成を疑い、最小コードに切り出し、ブレークポイントと式評価で「事実」を確認してから直す——この習慣が、初心者から一段上へ引き上げてくれます。
