IntelliJ IDEA 2024.3の新機能

IntelliJ IDEA 2024.3 では、開発エクスペリエンスを向上させる多数の強力な新機能が導入されました。 IDE でコードの論理構造の表現、Kubernetes アプリケーションのデバッグエクスペリエンスの合理化、クラスター全体の Kubernetes ログへのアクセスが可能になり、K2 モードが正式にベータを終了しました。 このページをご覧になり、IDE 全体にわたる詳細な更新情報をご確認ください。

主なハイライト

Structure(構造)ツールウィンドウの Logical(論理)コード構造
Ultimate

Structure(構造)ツールウィンドウで使い慣れた Physical(物理)構造に加えて、Logical(論理)コード構造が提供されるようになりました。 これにより、クラス、メソッド、およびフィールドだけでなく、プロジェクト内のコンポーネント間のリンクや対話も表示できるようになりました。 たとえば、Spring Boot アプリケーションでコントローラーを開く際、そのエンドポイントとオートワイヤリングされたアプリケーションコンポーネントを確認できます。 この強化されたビューはプロジェクト構造の理解に役立ち、コードの使用箇所と重要な関連の両方に沿ってプロジェクト内を移動することを可能にします。

Kubernetes アプリケーションのデバッグエクスペリエンスの改善
Ultimate

Kubernetes アプリケーションのデバッグがさらに簡単になりました。 Debug(デバッグ)ボタンの横にある三点リーダーをクリックし、Add Tunnel for Remote Debug(リモートデバッグのトンネルを追加...)を選択するだけで簡単にトンネルデバッグを有効にできます。 これによって手元のワークステーションを Kubernetes クラスターへ仮想的に組み込むことで、Pod を入れ替えてお好みのツールでマイクロサービスをローカルでデバッグすることができます。 他のマイクロサービスはクラスターの残りの構成要素へのネットワークアクセスを完全に維持したまま、手元のワークステーションとそれがあたかもデバッグ対象の Pod であるかのように対話します。 Kubernetes を認識しないデバッガーも問題なく動作します。 また、Services(サービス)ツールウィンドウ配下の Kubernetes UI 内にある新しい Forward Ports(転送ポート)セクションにより、簡単にポートを転送できるようになっています。

Kubernetes クラスターのログ
Ultimate

IntelliJ IDEA で開発者のみならず、DevOps や SRE チームにも不可欠なストリーミングとパターンマッチングに対応したクラスター全体の Kubernetes ログにアクセスできる機能が提供されるようになりました。 この機能を使用すると、Pod、ノード、およびサービスのすべてのイベントをまとめて表示できるため、個々のログを手作業でチェックすることなく問題を素早く発見できます。 リアルタイムストリーミングで即座に診断を行い、パターンマッチングでメモリ不足の問題や異常なネットワークアクティビティなどの重要なイベントやエラーの検出を自動化できます。 この機能の詳細とその使用方法については、こちらのブログ記事をご覧ください。

安定版の K2 モード

IntelliJ IDEA 2024.3 では K2 モードが正式にベータ段階を終えて安定版となり、一般公開されました。 K2 モードはコード解析の安定性、メモリ消費効率、および IDE の全体的なパフォーマンスを大幅に改善します。 K2 モードの機能性がより Java と同等に近づき、すべての Kotlin 2.1 機能をサポートするようになりました。 この機能を詳しく見るには、Settings(設定)/Preferences(環境設定) | Languages & Frameworks(言語とフレームワーク)| Kotlin にアクセスしてください。

AI Assistant

AI プロンプトのインライン入力

IntelliJ IDEA 2024.3 では AI プロンプトのインライン入力が導入され、エディター内で直接シームレスに AI Assistant と対話できるようになりました。 自然言語でリクエストを入力すると、AI Assistant がそれを即座に解釈し、コードの変更に変換します。この変更はガター内で紫色で示されるため、簡単に追跡できます。 AI プロンプトのインライン入力はコンテキストを認識し、関連するファイルやシンボルを自動的に含めるため、より正確なコード生成が可能です。 この機能は、Java、Kotlin、Scala、Groovy、JavaScript、TypeScript、Python、JSON、および YAML ファイル形式をサポートしており、すべての AI Assistant サブスクリプション契約者に提供されています。

コンテキスト管理の改善

このアップデートでは、AI Assistant が提案時に考慮するコンテキストの管理をより透明化し、直感的にしました。 改良された UI ではコンテキストとして含まれるすべての要素を表示し、管理できるようにすることで、完全な可視性と制御を実現しています。 開いているファイルとその中で選択されたコードがコンテキストに自動的に追加されるようになったため、必要に応じてファイルの追加と除去を簡単に行い、ワークフローに合わせてコンテキストをカスタマイズできます。 また、プロジェクト全体の説明を添付し、コードベース全体にわたって AI Assistant の回答をガイドすることができます。

チャットモデルプロバイダーの選択オプション

優先する AI チャットのモデルを Google Gemini、OpenAI、またはマシン上のローカルモデルから選択できるようになりました。 この選択肢の拡大により、特定のワークフローに合わせて AI チャットの回答をカスタマイズできるようになり、より適合性の高いパーソナライズされたエクスペリエンスを得られるようになりました。

Java と Kotlin

定数条件の改善

バージョン 2024.3 の IntelliJ IDEA のデータフローエンジンはより正確にエイリアスを使用した場合を処理できるようになっているため、インスペクションの誤検出が少なくなり、より信頼性の高いコーディングエクスペリエンスを得られるようになりました。 この強化は Kotlin と Java の両方に適用され、参照が同じインスタンスを指している可能性がある場合での解析が改善されます。

Java コードフォーマッターの改善

IntelliJ IDEA のコードフォーマッターでアノテーションとフィールド宣言の間の空白行(可読性を向上させるために JPA エンティティでよく使用される書式)を保持できるようになりました。 従来のフォーマッターは、このような行をデフォルトで除去していました。 この動作を制御する新しいオプションは、Settings(設定)| Editor(エディター)| Code Style(コードスタイル)| Java | Blank Lines(空白行) にあります。

Kotlin 2.1 の実験的機能のサポート

K2 モードが有効な場合、IntelliJ IDEA は Kotlin 2.1 の 2 つの実験的言語機能をサポートします。 1 つは、インライン関数に引数として渡されるラムダ内で非ローカルの break ステートメントと continue ステートメントを使用できる機能です。 もう 1 つの新たにサポートされた機能は、複数のドル記号による補間です。これによってリテラルの $ 記号を扱いやすくなり、${'$'} のような回避策を使用する必要がなくなりました。 これは、コード内で JSON スキーマを宣言する際などに特に役立ちます。

Scala

Scala 3 のサポート

IntelliJ IDEA に Scala 3 の透明なインラインメソッドに対してコンパイラーベースの型推論を使用するオプションが備わりました。 この強化によってマクロに依存するライブラリのサポートが改善され、マクロベースのコードに対して型ベースのすべての機能(コード補完、移動操作、型ヒントなど)を使用できるようになりました。 この機能は現時点では実験的です。

IntelliJ IDEA 2024.3 は Scala 3.5 の新しい実験的機能であり、Scala 3.6 で標準機能となる予定の名前付きタプルを完全にサポートしています。 その名前から分かるように、名前付きタプルはタプルのコンポーネントに名前を付け、読み取り可能な名前でそれにアクセスできるようにするものです。

また、IntelliJ IDEA の不透明な型の認識が改善されました。 opaque キーワードは以前から認識可能でしたが、IntelliJ IDEA は不透明な型を標準(透明)の型エイリアスのように実際には処理していました。 不透明な型が抽象型として処理され、その基になる定義が隠されるようになりました。

Scala CLI

プロジェクトの構成を含む project.scala ファイルのあるフォルダーを開くと、IntelliJ IDEA がそれを Scala CLI プロジェクトとして認識するようになりました。 また、sbt ベースのプロジェクトと同様に New Project(新規プロジェクト)ウィザードで新しい BSP ベースの Scala CLI プロジェクトを作成し、それに新しい Scala ファイルを追加することもできます。

sbt プロジェクト用の新しいプロジェクトモデル

IntelliJ IDEA のプロジェクトモデルが本番環境とテストのソースを別々のモジュールに分離し、sbt プロジェクトをより正確に表現するようになりました。 この新しいモデルは依存関係の処理を改善し、スコープごとに個別のコンパイラーオプションを構成する機能を提供します。 この機能は現時点ではベータです。

コンパイラーベースのハイライトの改善

複数のコンパイルが必要となる状況を減らしました。 たとえば、複数のファイルに影響するリファクタリングによって多数のコンパイルリクエストが発生する状況などが挙げられます。 この新しいリリースの IntelliJ IDEA はこのようなリクエストを解析して 1 つにまとめ、よりコンパイル範囲の広い 1 つのリクエストを発行するようになっています。 これによって CPU リソースの使用率が減り、コンパイラーのハイライトエクスペリエンスが最適化されます。

また、重複したパーサーエラーが IntelliJ IDEA の Scala パーサーとコンパイラーの両方から表示されるエッジケースも修正しました。

ユーザーエクスペリエンス

インデックス作成中のスペルと文法のチェック

2024.2 リリースでの進捗に基づき、プロジェクトモデルのビルド中とインデックス作成中に使用できる基本機能の数を増やしています。 バージョン 2024.3 では、インデックス作成中でもスペルと文法のチェックを使用できるようになりました。 そのため、インデックス作成の終了を待たずに Markdown ドキュメントやドキュメントタグなどに含まれるエラーを検出できます。

Run(実行)ウィジェット: 複数の構成を同時に起動するオプション

更新された Run(実行)ウィジェットでは、ポップアップ内で Ctrl を押したまま Debug(デバッグ)アイコンをクリックすることで、複数の構成を同時に起動できるようになりました。 また、このウィジェットにはすべての実行中の構成に対するコントロールが表示されるため、これらの構成の概要を明確に把握し、簡単に管理できます。

デフォルトのタブ数上限の引き上げ

エディター内のデフォルトのタブ数上限を 30 に引き上げました。 これにより、開いたままにできるタブの数を増やせるようになりました(ただし、最終使用時間が最も古いタブは IDE によって閉じられます)。 この設定は、Settings(設定)| <0>Editor(エディター)| <0>General(一般)| <0>Editor Tabs(エディタータブ)で制御できます。

Rename(名前の変更)アクションの場所の最適化

エディター内と Project(プロジェクト)ツールウィンドウで要素に対して Rename(名前の変更)アクションを呼び出した際のコンテキストメニューで、アクションを表示する場所を最適化しました。 アクションがトップレベルに表示されるようになったため、マウス操作をよく使用するユーザーがファイル、変数、およびその他の要素の名前を素早く変更しやすくなりました。

選択したテキストのすべての出現箇所をハイライト

IntelliJ IDEA がデフォルトでファイル内で選択したテキストのすべての出現箇所を自動的にハイライトするようになりました。 これにより、コード全体で選択したテキストの出現箇所を追跡しやすくなります。 以前の動作を希望する場合は、Settings(設定)| Editor(エディター)| General(一般)| Appearance(外観)でこの機能を無効にできます。

メッセージと i18n ファイル用の新しいアイコン

新しい専用のアイコンにより、メッセージと i18n ファイルが区別しやすくなりました。 この更新によってこれらのファイルと構成ファイルを区別しやすくなったため、プロジェクト内のローカライゼーションファイルをすぐに見つけて管理できます。

Java ソースルートの New(新規)ポップアップの更新

Java ソースルートにファイルを追加するための New(新規)ポップアップに最も関連性の高いオプションのみが表示されるようになったため、視認性が向上し、ワークフローが合理化されました。 以前の長いテンプレートリストを希望する場合は、Settings(設定)| Advanced Settings(高度な設定)| Java で簡単に復元できます。

JSON、XML、および YAML ファイルのフローティングツールバー

JSON、XML、および YAML ファイルでフローティングツールバーを使用できるようになったため、コンテキストベースのアクションと AI を使用したアクションにアクセスしやすくなりました。 任意のコードを選択するだけで、使用できるアクションを含むツールバーが表示されます。

ターミナル

新しいターミナルの改善
ベータ

新しいターミナルはコマンドの処理が強化され、UI の配置が改良されているため、よりスムーズかつ直感的に使用できるようになっています。 ターミナルの応答性が向上し、プロンプトをより素早く処理できるようになっています。 ワークフローが中断しないように複数のタブ間で状態が一貫して維持されるようになったため、セッションをスムーズに切り替えられるようになりました。 自動補完がコマンド名、フラグ、およびパスにより素早くアクセスできるようになったため、手動入力の量が減っています。 また、プロンプトのスタイル、セッション名、環境変数を含む追加のカスタマイズオプションが導入され、ターミナル環境をより細かく制御できるようになっています。

バージョン管理システム

プルおよびマージリクエストのタイトルと説明の生成

AI Assistant を使用して IDE から直接プルリクエストとマージリクエストの正確なタイトルと説明を生成できるようになりました。これによってワークフローが合理化され、明確かつ簡潔な説明を得られます。

Find in Files(ファイル内検索)の更新

Find in Files(ファイル内検索)機能が強化され、Project Files Excluding Git-Ignored(gitignore ファイルを除くプロジェクトファイル)という新しい検索範囲が追加されました。 このオプションを使用すると .gitignore ファイルで無視対象に指定されているすべてのファイルが検索結果から除外され、プロジェクト全体を検索する際に関連性のあるコードに専念しやすくなります。

バックグラウンドのコミット前チェックを無効化するオプション

Settings(設定)| Version Control(バージョン管理)| <0>Commit(コミット)にある新しい <0>Run advanced checks after a commit is done(コミット完了後に高度なチェックを実行する)オプションを使用することで、コミット処理中のバックグラウンドチェックを管理できるようになりました。 この設定により、コミット後にテストとインスペクションを実行するかどうかを決定できます。 コミットが行われる前にこれらのチェックを完了する場合は、このオプションを無効にしてください。

ようこそ」画面のブランチ名

ようこそ」画面にブランチ名が表示されるようになりました。複数のプロジェクトバージョンを扱う場合でも混乱することなく、作業ディレクトリを簡単に切り替えることができます。

デバッガー

HotSwap 機能の UX 強化

HotSwap 機能をより簡単かつ直感的に使用できるようになりました。 この機能は、デバッグセッション中にアプリケーションを再起動せずに変更されたクラスを再読み込みできるようにするものです。 このリリースでは、アクティブなデバッガーのセッションでコードを編集すると、IntelliJ IDEA が変更を自動的に検出し、エディターの便利なボタンを使って再読み込みするように促すようになっています。 これによってリアルタイムでのコードの更新が可能になり、開発プロセスが合理化されます。 HotSwap には特に構造の変更に関し、一定の制限があることに注意してください。 詳細はこちらをご覧ください。

例外ブレークポイントを作成するインテンションアクション

エディターから例外ブレークポイントを設定できるようになりました。 スローまたはキャッチ箇所でコンテキストメニューを開き(macOS では ⌥↩、Windows/Linux では Alt+Enter を使用)、Enable exception breakpoint(例外ブレークポイントを有効化)を選択します。 この新しい機能を使用すると、Breakpoints(ブレークポイント)ダイアログを開いたり、コンソールでスタックトレースを参照したりする必要がないため、例外ブレークポイントをより便利に設定できます。

行の実行時間ヒント

IntelliJ IDEA 2024.3 では、大量の行の実行時間を測定する場合にコードがログやタイマーだらけになることがなくなりました。 Run to Cursor(カーソル位置まで実行)アクションを呼び出すと、エディターのガターに各行の実行時間が直接表示されます。 より詳しく解析するため、ガター内の同じヒントを使用して、呼び出されたメソッドまで掘り下げることができます。メソッドの各行にも実行時間データが表示されます。

非同期コードのスタックトレースのマージ

IntelliJ IDEA 2024.3 では、あるスレッドでスケジュールされたタスクが別のスレッドで実行される非同期コードの個々のスタックトレースを維持することで、そのトラブルシューティングの問題を解決しています。 IDE がワーカーのスタックトレースだけでなく、マージされたスタックトレースをコンソールに出力するようになったため、実行のフローを追跡しやすくなっています。 この強化はテストのためにデフォルトで有効化されています。

プロファイラー

ヒープメモリ使用量グラフ
Ultimate

プロファイラーが強化され、スレッドレーンの上の Timeline(タイムライン)タブに表示されるヒープメモリ使用量グラフが追加されました。 この新しい可視化表現はメモリの割り当てとスレッドのアクティビティを関連付けるのに役立ち、潜在的なメモリリークやパフォーマンスのボトルネックを示す重要なインサイトを提供します。

ビルドツール

マルチモジュールプロジェクトのコンパイルの高速化

IntelliJ IDEA 2024.3 では、並列コンパイルをデフォルトで実行するようにしました。 以前のバージョンではプロジェクトのモジュールが一度に 1 つずつコンパイルされており、大規模なプロジェクトでは十分な速度を実現できていませんでした。 このリリースでは CPU とメモリ消費量が最適化されているため、IDE がコンパイルするすべての Maven ベースのプロジェクトのコンパイル時間が短縮されているのを確認できます。

信頼できない SSL 証明書の円滑な処理

IntelliJ IDEA で Maven の同期とビルドの際に SSL 関連の問題が自動的に検出されるようになりました。 信頼できない証明書が問題の原因である場合、IDE は証明書を信頼することで問題を解決するよう提案します。そのため、手動での対応は不要です。 このアップデートでは複数のログに隠れた SSL エラーを当て推量で探し出したり、JDK の信頼できるストアで面倒な証明書の手動管理を行ったりする必要がなくなりました。

Maven の分割されたローカルリポジトリのサポート

Maven 3.9 で導入された Maven の分割されたローカルリポジトリを完全にサポートするようにしました。 これにより、必要に応じてローカルリポジトリを分割できるようになりました。 ローカルリポジトリをリモートリポジトリごとにグループ化したり、ローカルにインストールされたアーティファクトを専用フォルダーに格納したり、さらには特殊な接頭辞を使用してブランチごとにアーティファクトを分類したりできます。 以前の IntelliJ では Maven で分割されたリポジトリを有効にすると同期エラーが発生し、ビルドや依存関係の問題が発生していましたが、 この完全サポートによって円滑な同期と効率的なリポジトリ管理を行えるようになりました。

フレームワークとテクノロジー

Spring Data リポジトリの派生メソッドの生成
Ultimate

IntelliJ IDEA が Spring Data リポジトリで派生クエリメソッドを自動的に生成できるようになりました。 派生クエリメソッドが必要な場合に手動でリポジトリのソースコードを更新する必要がなくなりました。 必要な場所でメソッド名を入力し始めると、IntelliJ IDEA がメソッド名の候補を提案し、適切なメソッドシグネチャーと戻り値の型を提供し、リポジトリのコードを更新します。

HTTP クライアントに関する更新
Ultimate

IntelliJ IDEA 2024.3 には HTTP クライアント内で $env.ENV_VAR 構文を使用し、環境変数に直接アクセスできる機能が導入されています。 これにより、リクエストとスクリプト内で変数を管理し、使用する際の柔軟性が高まっています。 また、ある .http ファイルから別のファイルに特定のリクエストを(まとめて、または名前を指定したもののみ)インポートして実行できるようになりました。

Ktor 3.0 のリリース
Ultimate

Kotlin を使用して JVM 上のサーバーアプリケーションをビルドするための Ktor 3.0 ツールキットに新機能とパフォーマンスの改善が導入されました。 この新しいバージョンでは Kotlin 2.0 が採用され、kotlinx-io ライブラリに切り替えることで IO 関連の演算のパフォーマンスが改善されています。 詳細はこちらをご覧ください

GraalVM ネイティブイメージのデバッグエクスペリエンスの合理化
Ultimate

Docker コンテナーによって GraalVM ネイティブイメージのデバッグを大幅に簡素化したため、あらゆるプラットフォームでネイティブ Java アプリケーションをビルドし、デバッグできるようになりました。 アプリケーションをビルドするためのコンテナーと、それを実行するコンテナーを実行構成で指定するだけで済みます。 アプリケーションが実行中になると、Java コードだけでなくアセンブラーレベルでもアプリをデバッグできます。 セットアップをより簡単にするため、必要なすべてのソフトウェアとライブラリを含む事前構成済みの Docker イメージを提供しています。

OpenTofu および Terraform に関する機能強化
Ultimate

OpenTofu がサポートされるようになりました。 このアップデートには、暗号化メソッドと鍵プロバイダーに対応した自動補完と不明な参照に対応したインスペクションが含まれています。

Terraform の実行構成アクションは Search Everywhere(どこでも検索)でアクセス可能で、IDE は未使用の変数とローカル変数を自動的に検出し、コードをクリーンに保ちます。 InitValidatePlanApply、および Destroy の制御が改良され、Run Configuration (実行構成)フォームが合理化されました。 また、使用箇所のインジケーターと未使用リソースの警告が改善されたことで、移動操作が強化され、非アクティブなコードを特定しやすくなりました。

Dev Container のサポート強化
Ultimate

Dev Container ビルドがリモート Docker エンジン上でよりスムーズに動作するようになり、ローカルディレクトリにリモートでアクセスできない場合のエラーを防げるようになりました。 WSL の安定性も強化されており、イメージのビルドが改善され、接続の信頼性が向上しています。

devcontainer.json ファイルは features をより安定して処理し、新しい updateRemoteUID オプションは正しいユーザー ID を設定することでアクセス競合を回避します。 IDE の Dev Container 設定は devcontainer.json ファイルか Add currently modified settings from IDE(IDE から現在変更されている設定を追加する)ボタンを使用してカスタマイズでき、すべての使用可能なオプションが自動補完されます。

Docker Compose に関する改善点
Ultimate

IntelliJ IDEA 2024.3 では Docker Compose のサポートが拡張されています。 env_file の自動補完で .env ファイルが優先されるようになったため、より迅速に環境をセットアップできるようになりました。 新しいビルドオプション(cache_tono_cachetags、および platforms)により、キャッシュの処理とプラットフォームのターゲット設定をより細かく制御できるようになっています。 depends_on.requireddepends_on.restart の処理が改善されたことで、依存するコンテナーの起動と終了の順序をより効果的に管理できるようになりました。

deploy.placement.preferencesdeploy.resources.pidsdeploy.resources.reservations.devices などの新しいキーにより、サービスの配置とリソースの制限を柔軟に行えるようになりました。 build.additional_contextsbuild.privileged により、マルチコンテキストビルドと特権付きビルドがサポートされるようになりました。

その他のオプションには、cgroup 構成、カスタム extra_hosts マッピング、healthcheck.start_interval などがあります。 改善されたポートの設定と secrets.environment により、環境変数によるシークレットの管理が合理化されています。

WSL 内プロジェクトのサポートの改善
Ultimate

JetBrains は Linux 用 Windows サブシステム(WSL)内でホストされているプロジェクトを開発者が Windows から開く場合の信頼性を継続的に改善しています。 具体的にはシンボリックリンクのサポートを導入し、WSL との対話に Hyper-V ソケットを使用するように切り替えてパフォーマンスを改善しました。 また、WSL を含むリモート環境でのパフォーマンスを向上させるため、プラットフォームの大幅な変更に継続的に取り組んでいます。

Kubernetes

ネットワークポリシーのサポート
Ultimate

IDE がクラスター内の Pod 間のネットワークトラフィックを管理するためのネットワークポリシーをサポートするようになりました。 このポリシーでは、他の Pod、サービス、または外部ソースからのトラフィックを送受信できる Pod を定義できます。 ネットワークポリシーの主な目的は、ネットワークトラフィックの制御と制限、Pod の分離の管理、セキュリティの確保、および外部アクセスの調整です。

ウェブ開発

ディレクトリの検索結果を明確化
Ultimate

プロジェクトディレクトリで Find in Files(ファイル内検索)を使用する際、IntelliJ IDEA がデフォルトでnode_modules の結果を除外するようになりました。 Settings(設定)| Advanced Settings(高度な設定)Search in library files when “Directory” is selected in Find in Files(ファイル内検索で "ディレクトリ" が選択されている場合はライブラリファイル内を検索する)オプションを有効にすると、以前の動作に戻ります。

フレームワークコンポーネントの移動操作と名前変更の改善
Ultimate

Vue、Svelte、および Astro コンポーネントのエディター内ヒントを強化しました。 Show component usages(コンポーネントの使用箇所を表示)アクションがインポートとマークアップテンプレートの両方で使用箇所を検索するようになりました。 また、通常のファイル参照を検索する際にコンポーネントの使用箇所を除外するための Show Component Usages(コンポーネントの使用箇所を表示)フィルターを追加しました。 Rename(名前の変更)リファクタリングも更新され、コンポーネントファイルの名前を変更する際に使用箇所を含めるオプションが追加されました。

Angular 関連の改善
Ultimate

Angular 19 を使用するプロジェクトにおいて、IntelliJ IDEA がコンポーネント、ディレクティブ、およびパイプに対してスタンドアロンモードをデフォルトで使用するようになりました。 スタンドアロンコンポーネントと非スタンドアロンコンポーネントを相互に変換できるクイックフィックスが追加されました。 コードを整形する際や新しいインスペクションを使用する際に、未使用のスタンドアロンインポートを自動的に削除できます。 @let 構文のサポートも改善されました。

データベースツール

Text-to-SQL: AI によって生成された結果に対するエディター内差分表示
Ultimate

エディター内での AI Assistant の操作エクスペリエンスを改善しました。 コードに何らかの処理を行うように AI Assistant に依頼した際、エディターエリアに元のコードと生成されたコードの差分が表示されるようになりました。 AI Assistant の提案は違う色でハイライトされ、ガターには Revert(元に戻す)アイコンが表示されます。 また、差分表示内で生成されたクエリを編集することもできます。 自分で行った変更も同じようにハイライトされます。 たとえば AI Assistant にクエリでより多くのデータを取得するように依頼した後、生成された結果に ORDER BY 句を追加することができます。

AI Assistant による SQL エラーの処理
Ultimate

AI Assistant によって SQL クエリの実行エラーを処理するための 2 つの新しい便利なアクションをエラーメッセージ領域で使用できるようになりました。 Explain with AI(AI で説明)は、自動的に送信されるプロンプトとエラーを説明する AI Assistant の回答を含む AI チャットを開きます。 Fix with AI(AI で修正)アクションは、クエリ実行エラーに対する修正をエディター内に生成します。

過剰な数の JOIN 句に対するインスペクション
Ultimate

場合によっては、JOIN 句の数が過剰なクエリを実行することは推奨されません。それによってパフォーマンスが低下するためです。 エディターがそのようなクエリを特定し、ハイライトできるようになりました。 このインスペクションは IDE の設定で有効にできます。 Editor(エディター)| Inspections(インスペクション)に移動し、SQL セクションを展開して Excessive JOIN count(過剰な JOIN 数)を選択してください。

フローティングページネーションツールバー
Ultimate

データエディター内のグリッドのページングを認識しやすくするため、このコントロールをツールバーからデータエディターの下中央に移動しました。

MySQL と MariaDB の部分イントロスペクションとスマートリフレッシュ
Ultimate

IntelliJ IDEA で部分イントロスペクションがサポートされるようになりました。 従来のイントロスペクターは MySQL または MariaDB データベースのスキーマの完全イントロスペクションのみを実行可能で、単一オブジェクトのメタデータをリフレッシュできませんでした。 コンソール内で DDL ステートメントが実行されるたびにデータベーススキーマ内のオブジェクトが変更される可能性があったため、IDE はスキーマ全体の完全イントロスペクションを開始していました。 この動作には時間がかかるため、作業の流れが中断されることもしばしばでした。

このバージョンの IntelliJ IDEA は DDL ステートメントを解析し、その影響を受けた可能性があるオブジェクトを突き止め、そのオブジェクトをリフレッシュできるようになっています。 データベースエクスプローラー内で単一の項目を選択して Refresh(リフレッシュ)アクションを呼び出すと、以前のようにスキーマ全体ではなく、1 つのオブジェクトのみがリフレッシュされます。

その他

Linux でのグローバルメニューのサポートの廃止

Linux 版の IntelliJ IDEA 2024.3 ではグローバルメニューのサポートが廃止されています。ご注意ください。