Red Hat は、次の新機能を備えた Visual Studio Code の Java 言語サポートバージョン 1.0 をリリースした: Java 17 サポート。LSP 仕様の新機能に基づいて一部の計算を延期することによるパフォーマンスの向上。さまざまな JVM オプションの調整。言語サーバの応答性の最適化。型階層を表示する機能。ソースルックアップ機能が改善され、Maven または Gradle を使用せずに管理されていないプロジェクトをサポートし、Maven Central で利用可能な任意のライブラリのソースを表示できるようになった。このリリースには、例えば、不足するメソッドを追加するなど、開発者の生産性を向上させるための新しいコードアクションも含まれている。最後に Kotlin (.kts
) で書かれた Gradle ファイルのサポートが導入された。
Java 拡張機能の言語サポートは、Java ファイルを開いた時アクティブになる。Maven、Gradle やスタンドアロンの Java プロジェクトがサポートされ、ビルドツールが自動的に検出される。コード補完、リファクタリング、コンパイルエラー、Javadoc、コードナビゲーション、コードフォーマット、呼び出し階層、型階層などの一般的なIDE機能がサポートされている。
Java 拡張機能の言語サポートは、個別にダウンロードするか Extension Pack for Java を通してダウンロードできる。このパックには、デバッグ、テストの実行、Maven、プロジェクトマネージャ、Intellicode のプラグインとともに Java プラグインの言語サポートも含まれている。VSCode は、Spring Boot、Microprofile、Quarkus、Docker、Kubernetes、Tomcat、Jetty、SonarLint、Checkstyle の個別のプラグインを備えたさまざまな Java フレームワークとツールをサポートしている。
拡張機能を実行するには JDK 11 以降が必要であり、VS Code 設定の java.home
フィールドで構成できる。指定されていない場合、拡張機能は JDK_HOME
環境変数、JAVA_HOME
環境変数、システムパスの順で JDK を検出しようとする。ユーザ設定を使用して、複数の構成された JDK に対してアプリケーションをコンパイルできる:
"java.configuration.runtimes": [
{
"name": "JavaSE-1.8",
"path": "/path/to/jdk-8",
},
{
"name": "JavaSE-17",
"path": "/path/to/jdk-17",
"default": true
},
]
Java の言語サポートは、順に Eclipse JDT、M2Eclipse、および Buildship を使用する Eclipse JDT 言語サーバを使用する。
Red Hat は、2016年9月12日に、VSCode の プラグインの Java 言語サポートバージョン 0.0.1 を発表した。それ以来、Red Hat は月に1回または2回新バージョンをリリースし、5年強後の2021年10月19日にバージョン 1.0.0 をリリースした。
Red Hat のプリンシパルソフトウェアエンジニアである Fred Bricon 氏は、当初求めたすべての機能を備えたため、リリース 1.0 の名前を付けることを選んだと説明している。それでもなお、Red Hat やその他の組織は、VSCode の Java のサポートの改善に取り組んでいる。たとえば、最近拡張機能のリリースを発表した Microsoft は、必ずしも望ましいとは限らない Eclipse メタデータファイルがフォルダ内に作成されるという事実に取り組んでいる。
将来のロードマップで計画のアウトラインには、開始しやすくする Java ランタイムの埋め込み、起動と一般的なパフォーマンスの改善、コードアクションと自動補完の拡張、コードフォーマットとコンパイラエラー/警告の構成の改善が含まれる。