みなさん、こんにちは。
今回は、私が長年探し求めてきたJava開発環境の「究極の形」について、実体験を交えながらお話ししたいと思います。
Java開発におけるSTS(Spring Tool Suite、現在はSpring Tools for Eclipse)とVS Codeという、それぞれに強みを持つ2つのIDEをどう使用しているのか、そして最終的になぜ「ハイブリッド」なアプローチに落ち着いたのか、その理由を包み隠さずお伝えします。
もし、「今の開発環境、ちょっとしっくりこないな」と感じている方がいたら、ぜひ最後までお付き合いください。きっと、何かヒントが見つかるはずです。
STSからVS Codeへ、そしてハイブリッドへ
ここ数年、Tomcatサーバーを使用するWebアプリケーション開発にどっぷり浸かっています。Spring Frameworkとの相性が抜群で、デバッグ機能も強力なSTSが、長らく私のメインIDEでした。本当に、なくてはならない存在だったんです。
でも、時代は常に変化しますよね。特に、GitHub CopilotのようなAIによるコード支援ツールが登場してからは、「もっと軽快で、柔軟な環境はないかな?」と、探求の旅が始まりました。
GitHub Copilot Proを契約してからは、その強力なコード補完の恩恵を最大限に受けるために、コーディングの主体をVS Codeに移しました。STSに比べてサクサク動く感じと、豊富な拡張機能には本当に驚かされました。おかげで、開発スピードがグンと上がったんです。
ただ、デバッグだけは別でした。Tomcatサーバーとの連携が本当にシームレスなSTSのデバッグ機能は、VS Codeの拡張機能(Community Server Connectorsなど)をあれこれ手動で設定するよりも、断然スムーズで効率が良かったんです。
そんなわけで、私の開発スタイルは自然と、「VS Codeでコードを書き、STSでデバッグする」という、ちょっと変わったハイブリッドな形になりました。
STSへの完全移行を考えた、2025年夏
2025年に入り、GitHub Copilotに大きな動きがありました。まず、STSでもCopilotプラグインが正式に対応したことです。これは嬉しかったですね!「ついに長年の相棒とCopilotがタッグを組むのか!」とワクワクしました。
さらに7月には、エージェントモードという、とんでもない機能が追加されたんです。
エージェントモード以前のCopilotは、主に単一ファイルの中でのコード補完がメインでした。でも、このエージェントモードは、複数のファイルにまたがるコンテキスト(MVCパターンなど)をまるっと理解して、コードを支援してくれるんです。
Spring Frameworkのように、コントローラー、サービス、リポジトリ、テンプレートと、複数のファイルを横断して作業することが多い開発では、この機能はまさに革命的!「これを使えば、ほとんど自動でコードを書いてくれるんじゃ?」ってくらい、トータルなコーディング支援が期待できました。
このエージェントモードの登場は、私にとってSTSへの完全移行を真剣に考える大きなきっかけとなったんです。
立ちはだかった「Git Graph」の壁
最高の環境を求めて、いざSTSにCopilotプラグインをインストール!

スムーズにコード補完が始まり、「これはイケる!」と思った矢先、私の計画は思わぬところで頓挫してしまいました。

それは、Gitの管理機能です。
私の開発ワークフローにおいて、VS Codeの「Git Graph」という拡張機能は、もはや欠かせないツールでした。コミット履歴や、ブランチの分岐、マージ、リベース…といった複雑なGit操作を、まるで地図を見るように、視覚的に、そして直感的に理解できるんです。複数のメンバーで開発していると、誰がいつ、どこをどう変更したか、これを追うのが本当に大変で。Git Graphがなければ、正直、やってられません(笑)。

STSに標準で組み込まれているEGitプラグインも、基本的なGit操作はできるのですが、Git Graphのような、あの「見てわかる」感覚にはどうやっても敵いませんでした。Eclipse Marketplaceで色々なプラグインを探してみましたが、やっぱりピンとくるものがなくて…。
この「Git Graph」の便利さを手放すことは、私の生産性を大きく下げることになります。この壁にぶつかり、泣く泣くSTSへの完全移行を諦めざるを得ませんでした。
結論 – いいとこ取りのハイブリッドアプローチが最強!
完全移行はできなかったものの、この経験のおかげで、VS CodeとSTSそれぞれの「いいところ」を改めて再認識できました。
VS Codeのここが好き!
- サクサク動く軽快さ: STSより起動が速く、コードを書くのがとにかく気持ちいい!
- 神がかった拡張機能: Git Graphを筆頭に、開発に必要な機能が全部揃っています。
- 言語横断的な開発環境: Javaだけでなく、複数の開発言語にすぐ対応できます。
- Copilotの動作も軽快: VS Code上でのCopilotの補完は本当にスムーズです!
STSのここが好き!
- Tomcatとの相性抜群: Tomcatの設定や、デバッグが本当に快適です!
- デバッグ機能が神: ブレークポイント、ステップ実行、変数のチェックなど、デバッグの頼もしい相棒です。
- MavenとSpringの連携が強力: Spring開発に特化した機能が、プロジェクト管理を簡単にしてくれます!
それぞれのいいところを最大限に活かすなら、やっぱりハイブリッドしかない!ってことで、私は再びこのスタイルに戻ることにしました。
VS Codeを、軽快なコーディングとGit管理のためのメインツールとして使います。毎日のお仕事はVS Codeでサクサク進めて、Git Graphで履歴もしっかり確認。
そして、STSは、Tomcatアプリケーションのデバッグ専用ツールとして、ピンポイントで使います。コードの動きをじっくり確認したい時や、変数の値を追跡したい時だけ、STSを起動してその強力なデバッグ機能の力を借ります。
このやり方なら、VS Codeの軽快さとGit Graphの便利さ、そしてSTSのデバッグ機能を、どれも手放さずに開発を進められます。「いいとこ取り」って、まさにこのことですね!
みなさんの「いい方法」も教えてください!
みなさんは、開発環境にどんなこだわりがありますか?
もし私と同じようなハイブリッド開発をされている方や、もっと良い方法をご存知の方がいたら、ぜひコメントで教えてください。みんなで知識をシェアして、最高の開発ライフを一緒に作っていきましょう!
本日も最後までお読みいただきありがとうございました。
それでは、よい開発ライフを!