VS Code 上の Java 7 月のアップデート|逆コンパイラのサポートアップグレード、コード補完のパフォーマンス向上、AI 関連のアップデートなど

著者: Nick Zhu
植字: Alan Wang

皆さん、Visual Studio Code for Java の 7 月の更新プログラムへようこそ。このブログでは、逆コンパイラのサポートに関する重要な最新情報をお知らせします。さらに、コード補完のパフォーマンスの最新の改善や AI 関連のアップデートも共有します。はじめましょう!

逆コンパイラのサポートのアップグレード

Java デコンパイラーは、サードパーティのライブラリを理解し、デバッグし、適切なコードの書き方を学ぶために不可欠です。これは、開発者がコンパイルされた Java バイトコードを人間が判読可能な Java ソース コードに逆コンパイルして、生産性とコードの理解を向上させるのに役立ちます。

以前、プラグインに組み込まれている逆コンパイラーは、コードの逆コンパイルとデバッグには不便であるとユーザーから報告がありました。最新のリリースでは、プラグイン パッケージに強力な FernFflower Java デコンパイラー (現在はオープン ソース プロジェクトであり、IntellIJ IDEA で使用されています) が組み込まれています。逆コンパイラーを使用すると、ライブラリを直接クリックすると、バイトコードが読み取り可能なソース コードに自動的に逆コンパイルされます。逆コンパイルされたコードでは、通常どおりコードをデバッグして読み取ることができます。この機能により、開発効率が大幅に向上することを願っています。簡単なデモンストレーションが続きます。

逆コンパイラ エクスペリエンスのアップグレード

埋め込みプロンプトを動的にオン/オフにする

インレイ ヒントは、Visual Studio Code やその他の多くの開発ツールで人気のある機能です。パラメーター名、パラメーターの型、変数の型など、コードの動作を理解するのに役立つ追加の表示情報をソース コードに追加します。ただし、この情報によって元のコードがわかりにくくなり、インターフェイスが乱雑になる場合があるというユーザーの声を聞きました。実際、Visual Studio Code には埋め込みプロンプトを動的に切り替える設定があり、コードを入力するときにオン/オフを簡単に切り替えることができ、エクスペリエンスを簡単に調整できます。この設定は、「インレイ ヒント」を検索して下の画像を参照すると見つかります。
ここに画像の説明を挿入
ここに簡単なデモがあります
ここに画像の説明を挿入

コード補完パフォーマンスの継続的な最適化

私たちは、コード補完のパフォーマンスの重要性と、開発者の生産性向上におけるその重要な役割を強調してきました。前回のブログ投稿では、コード補完のパフォーマンスが最近向上したことを示しました。今月中に、さらなる進歩と技術的な詳細を共有できることを楽しみにしています。

コード補完完了時間の短縮(前バージョンと比較

プラグインのバージョン 平均値 P99 (パーセンタイル) P95 (パーセンタイル) P90 (パーセンタイル) P75 (パーセンタイル) P50 (パーセンタイル)
1.18 (1.17 と比較) 13.85% 56.15% 49.36% 50.22% 13.69% 34.38%
1.19 (1.18 と比較) 55.65% 17.19% 17.01% 15.18% 14.14% 9.52%

表が示すように、1.19 リリース後、コード完了のレイテンシは平均時間とすべてのパーセンタイル ランクの両方で大幅に減少しました。

コード補完の最適化作業は Eclipse Java Development (JDT) 言語サーバーと密接に関連しており、私たちの作業は 3 つの主要な領域に焦点を当てています。

診断ジョブの最適化 (診断ジョブ)

関連プルリクエスト:PR #2587PR #2574PR #2664

Eclipse JDT Language Server の診断ジョブは、Java ソース コードを分析し、コンパイラ エラーや警告などの潜在的な問題に関するフィードバックを提供します。これらの PR により、診断ジョブ処理に最適化が導入され、コード診断のパフォーマンスが向上し、待ち時間が短縮されます。診断分析を微調整することで、開発者はより迅速にフィードバックを受け取り、コードベースについてより迅速に洞察を得ることができます。

リクエストハンドラーのスケジュールルールを最適化する

関連プルリクエスト:PR #2637PR #2641PR #2643PR #2659PR #2660

リクエスト ハンドラーの効率的なスケジューリングは、IDE から受信したコード補完リクエストを処理するために重要です。前述の PR は、コード補完リクエストに効率的に優先順位を付けて処理するために、Eclipse JDT 言語サーバーによって使用されるスケジューリング ルールの最適化に焦点を当てています。これらの改善により、サーバーはより効率的にリソースを割り当てられるようになり、競合が減少し、応答時間が改善されます。リクエスト ハンドラーのスケジュール設定を簡素化することで、開発者はより応答性の高いコード補完ワークフローを体験できます。

完了リクエストハンドラーの最適化

関連プルリクエスト:PR #2642PR #2639PR #2621PR #2614PR #2638

完了リクエスト ハンドラーは、IDE のコンテキストに基づいてコード補完の提案を生成する役割を果たします。これらの PR はフルフィルメント リクエストの処理プロセスを最適化し、その結果、推奨事項がより迅速かつ正確に生成されます。私たちの仕事は主に次の 2 つの側面に焦点を当てています。

  • 補完候補のリストを返すことを優先し、挿入されたテキストを遅延評価します。
  • 返される完了応答のペイロード サイズを削減し、シリアル化/逆シリアル化のコストを削減します。

完了リクエスト ハンドラーを強化することにより、開発者はコード補完の提案の速度と関連性が大幅に向上し、より効率的にコードを作成できるようになります。

これらの PR に参加したオープンソース コミュニティのメンバー全員に感謝いたします。コード補完の強化における進歩は、Visual Studio Code Java のパフォーマンスを向上させるための継続的な取り組みにおける有望なマイルストーンです。コード補完に加えて、Visual Studio Code の信頼性と互換性も引き続き改善および最適化していきます。今後のブログ投稿にご期待ください。

セマンティック カーネル Java SDK がリリースされました

最後に、セマンティック カーネル用 Java SDK が 7 月 19 日に正式にリリースされたことをお知らせします。SDK のソース コードは、このGitHub リポジトリで見つけることができます。一方、Java 開発者は、Maven のセントラル リポジトリでJava 0.2.6-alphaパッケージを見つけることができます。セマンティック カーネルは、大規模言語モデル (LLM) を既存のプログラミング言語 (C#、Python、Java など) と統合し、自然言語セマンティクスやメモリ管理などの複雑なタスクを軽減できます。Java 開発者は、Java SDK と GPT を使用して、より複雑な統合を行うことができます。

現在、Visual Studio Code ではセマンティック カーネル プラグインも起動されており、このリンクをクリックしてプラグインをダウンロードできます。
ここに画像の説明を挿入

Javaプラグインパッケージをインストールする

上記のすべての機能を使用するには、 Visual Studio Code にJava 用拡張パックをダウンロードしてインストールします。Spring 開発者で Spring Boot 関連のプログラムを作成している場合は、 Spring Boot プラグイン パッケージ
ここに画像の説明を挿入
をダウンロードしてインストールして、Spring Boot に関連する独占的な開発エクスペリエンスを得ることができます。
ここに画像の説明を挿入

フィードバックと提案

2023 年には、Visual Studio Code 上の Java に多くのエキサイティングな更新が行われる予定です。いつものように、皆様のフィードバックやご提案は私たちにとって非常に重要であり、将来の製品の形成に役立ちます。フィードバックを残す方法はいくつかあります

リソース

次のリンクとリソースは、Visual Studio Code 上の Java 関連情報をより深く理解するのに役立ちます。

おすすめ

転載: blog.csdn.net/MicrosoftReactor/article/details/132048291