開発環境の最適解を求めて – VS CodeとSTSのハイブリッド開発という選択

みなさん、こんにちは。

今回は、私が長年探し求めてきた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プラグインをインストール!

eclipse_market_place
GitHub Copilotをインストール

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

stsのcopilot
これはイケる!、と思ったが…

それは、Gitの管理機能です。

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

gitgraph
VS Codeの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のデバッグ機能を、どれも手放さずに開発を進められます。「いいとこ取り」って、まさにこのことですね!

 


 

みなさんの「いい方法」も教えてください!

 

みなさんは、開発環境にどんなこだわりがありますか?

もし私と同じようなハイブリッド開発をされている方や、もっと良い方法をご存知の方がいたら、ぜひコメントで教えてください。みんなで知識をシェアして、最高の開発ライフを一緒に作っていきましょう!

 

本日も最後までお読みいただきありがとうございました。

それでは、よい開発ライフを!

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール