VSCodeで、JavaのHot Code Replacement(ホットコード置換)がサポートされた。ホットコード置換を用いると実行中のアプリケーションのコードを実行したまま動的に修正できるため、トライアンドエラーが容易になる。


アプリケーションのコードを修正した場合、その修正を反映させるためには、コンパイル型の言語であれば再コンパイルする必要があり、インタープリタ型の言語であればアプリケーションの再実行が必要となります。

しかしコードを書き換え、実行し、動作を確認するということを何度も繰り返す開発作業では、いちいち再コンパイルをしたり、再実行する手間はなんとも面倒です。

そこでJavaには、「Hot Code Replacement」(ホットコード置換)と呼ばれる機能が用意されています。これはコードを再コンパイルすることなく変更した内容をJavaVMに転送し、反映できるというものです。

FAQ What is hot code replace? - Eclipsepedia
アプリケーションが実行中であっても修正内容が動的に反映できるため、再コンパイルどころかアプリケーションの再スタートも必要ありません。

例えば、実行中のアプリケーションにループのコードがあったとして、ループカウンタの増分を変更するとアプリケーションに動的に反映されて、ループが早く終了する、といったことが可能になります。

下記はJavaのHot Code Replacementを紹介する動画です。ゲームを実行したままスペースインベーダーの動きを制御するコードを書き換えており、書き換えるたびに実行中の画面内のインベーダーが下がったり上がったりする様子を見ることができます。
https://vimeo.com/34306396

Visual Studo Codeがホットコード置換に対応
ホットコード置換は、Java開発環境として知られるEclipseでは以前から対応していましたが、その機能がマイクロソフトがオープンソースで開発しているVisual Studio Code(以下VSCode)にも搭載されたことが、Visual Studio Blogの記事「Hot Code Replacement for Java comes to Visual Studio Code | The Visual Studio Blog」で紹介されました。

最新のVSCodeでは、そのほかにもJavaの単体テストのためのフレームワーク「JUnit」サポート機能やTomcat対応、Maven対応の強化なども盛り込まれており、Javaの開発環境が強化されています。
http://www.publickey1.jp/blog/18/vscodejavahot_code_replacement.html