無償のコードエディタVSCode、実行中のJavaアプリのコードを動的に書き換えて修正できる「Hot Code Replacement」(ホットコード置換)を実現
VSCodeで、JavaのHot Code Replacement(ホットコード置換)がサポートされた。ホットコード置換を用いると実行中のアプリケーションのコードを実行したまま動的に修正できるため、トライアンドエラーが容易になる。
アプリケーションのコードを修正した場合、その修正を反映させるためには、コンパイル型の言語であれば再コンパイルする必要があり、インタープリタ型の言語であればアプリケーションの再実行が必要となります。
しかしコードを書き換え、実行し、動作を確認するということを何度も繰り返す開発作業では、いちいち再コンパイルをしたり、再実行する手間はなんとも面倒です。
そこでJavaには、「Hot Code Replacement」(ホットコード置換)と呼ばれる機能が用意されています。これはコードを再コンパイルすることなく変更した内容をJavaVMに転送し、反映できるというものです。
アプリケーションが実行中であっても修正内容が動的に反映できるため、再コンパイルどころかアプリケーションの再スタートも必要ありません。
例えば、実行中のアプリケーションにループのコードがあったとして、ループカウンタの増分を変更するとアプリケーションに動的に反映されて、ループが早く終了する、といったことが可能になります。
下記はJavaのHot Code Replacementを紹介する動画です。ゲームを実行したままスペースインベーダーの動きを制御するコードを書き換えており、書き換えるたびに実行中の画面内のインベーダーが下がったり上がったりする様子を見ることができます。
Java HCR - In Game from CodeSlayer on Vimeo.
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」で紹介されました。
With this new feature in Visual Studio Code (VS Code), you can start a debugging session and change a Java file in your development environment, and the debugger will replace the code in the JVM running your code. This is the faster and easier way in Java to facilitate experimental development and to foster iterative trial-and-error coding.
Visual Studio Code(VS Code)のこの新機能を使うことで、デバッギングセッションを開始し、開発環境でJavaファイルを書き換えると、デバッガはJVMで実行されているあなたのコードを置き換えてくれる。これは実験的な開発やトライアンドラーを繰り返す開発を発展させていく、迅速かつ容易な手段だ。
最新のVSCodeでは、そのほかにもJavaの単体テストのためのフレームワーク「JUnit」サポート機能やTomcat対応、Maven対応の強化なども盛り込まれており、Javaの開発環境が強化されています。
カテゴリ 開発ツール / 言語 / プログラミング
タグ Visual Studio
あわせてお読みください
- jQuery 3.3登場、約1年ぶりのアップデート。新機能も追加
- VMwareがデルを買収する可能性、CNBCやBloombergなどが報じる。デルは資金調達のため再上場を目指していると
- マウスやGUI、イーサネットなどを発明してきたゼロックスが、富士フイルムホールディングス傘下に
- マイクロソフト、Windowsアプリ開発者向け「Desktop Application Analytics」提供開始。アプリのインストール数やクラッシュの原因などの統計情報を把握
- Kubernetesを統合した「Docker for Windows Desktop with integrated Kubernetes」リリース
前の記事
デルの再上場もしくはVMwareとの合併、デルが正式に検討中と認める。米証券取引委員会へ提出した書類で