IntelliJ IDEA 2022.3 では設定画面から UI を切り替えることで、まったく新しい IDE の外観を試すことができます。 このリリースでは、カスタマイズされたユーザー設定を同期してバックアップするための新しい Settings Sync(設定の同期)ソリューションを導入しています。 また、IntelliJ IDEA Ultimate では、WSL 2 内のプロジェクトで作業するための新しい手段、Spring Bean のオートワイヤリングと OpenAPI スキーマ生成に対応した新しいアクション、および待望の Redis サポートが提供されています。 この新バージョンの IDE ではその他にも多数の改善とアップグレードが行われています。以下ではその詳細を紹介しています。
IntelliJ IDEA 2022.3 では、新しい UI に切り替えることで、まったく新しい IDE の外観をプレビューできます。すっきりとしたモダンな外観と強力な機能が特徴です。 Settings(設定)/Preferences(環境設定)| Appearance & Behavior(外観と動作)の New UI preview(新しい UI のプレビュー)ボックスをオンにし、作業中のプロジェクトでお試しください。 この変更に関するプランの詳細については、こちらのブログ記事をご覧ください。
新しい Settings Sync(設定の同期)プラグインを無料版と有料版のすべての IntelliJ ベース IDE(Rider を除く)でご利用いただけるようになりました。 新しいソリューションでは、プラットフォーム、バンドルプラグイン、および一部サードパーティプラグインの共有可能な設定の大部分を同期できます。 以前の IDE Settings Sync(IDE 設定の同期)プラグインはサポートされなくなり、Settings Repository(設定リポジトリ)はバンドルされなくなることに注意してください。 新しい Settings Sync(設定の同期)プラグインと移行プロセスの詳細については、こちらの記事をご覧ください。
IntelliJ IDEA Ultimate 2022.3 では、WSL 2 ファイルシステムで実行中のプロジェクトで作業するための新しい方法が追加されました。 Windows で完全な IDE を実行する代わりに、WSL 2 自体で直接 IDE バックエンドを起動できます。 あとは IntelliJ IDEA でリモート開発を行うのと同じ方法でリモートマシンに接続するだけです。 このようにすることで、WSL 2 でプロジェクトに取り組む際の IDE パフォーマンスが改善されます。
IntelliJ IDEA Ultimate 2022.3 では、Spring Bean を必要とする場所から直接簡単にオートワイヤリングできるようになりました。 この新しいアクションは、Spring、Micronaut、および Jakarta EE CDI で利用できます。 また、ウェブ API のドキュメント生成プロセスのユーザーエクスペリエンスを OpenAPI 仕様を使用して強化しました。Spring コントローラーまたは JAX-RS リソースの OpenAPI 定義を瞬時に生成できるようになっています。 これらの改善に関するその他の詳細については、こちらのブログ記事をご覧ください。
IntelliJ IDEA Ultimate 2022.3 では、待望の Redis サポートが実装されました。 Redis Single Instance に接続し、データビューアーでキーの値を調べ、スマートコーディング支援を使って Redis クエリを実行するなど、さまざまな操作を行えるようになりました。 詳細は、こちらのブログ記事をご覧ください。
作業スペースの整理とマルチモニター環境での IntelliJ IDEA の操作を楽にするため、ツールウィンドウをメインウィンドウの外にドラッグしてフローティングエディタータブにドッキングするオプションを実装しました。
IntelliJ IDEA 2022.3 ではインテンションアクションのプレビュー機能がデフォルトで有効化されたため、IDE の提案を適用した後のコードを即時に確認できるようになりました。 このプレビューは、使用可能なインテンションアクションのリストを開いてオプションにマウスを合わせると表示されます。 このプレビュー機能は、インテンションアクションのリストが開いている状態で Ctrl+Q を押すか、Settings(設定)/Preferences(環境設定)| Editor(エディター)| General(一般)| Appearance(外観)で無効にできます。
Search Everywhere(どこでも検索)の結果リストを処理するアルゴリズムを微調整してその予測能力を向上させ、検索対象の要素をより正確に選択できるようにしました。 クエリの入力を開始した際、IDE が表示される最初の検索結果を固定し、他の候補が見つかっても並べ替えを行わないようになっています。 また、Files(ファイル)タブの機械学習ランキングがデフォルトで有効になったため、結果の精度が向上して検索にかかる時間が短縮されました。
コード要素のプロジェクト内での使用状況に関して、Find Usages(使用箇所の検索)がより有益な情報を提供するようになりました。 IDE がクラスタリングアルゴリズムを利用して検索結果の解析と最も多く見られる使用パターンの検出を行い、見つかったすべての使用箇所をその構造的類似性に基づいてグループ化するようになりました。 これらの使用箇所のクラスターは、Find Usages(使用箇所の検索)ツールウィンドウの Preview(プレビュー)タブに表示されます。
今日のヒントをより有益でわかりやすいものにするため、その外観と動作に多くの変更を加えました。 ダイアログのデザインを更新し、各ヒントに IDE のどの部分の説明なのかを示す見出しを追加し、フィードバックを収集するためのヒント評価機能を実装しました。 また、表示するヒントを決定するアルゴリズムを微調整し、IDE のエクスペリエンスと作業中のプロジェクトにより関連性のあるヒントが表示されるようにしました。 詳細はこちらをご覧ください。
Bookmarks(ブックマーク)の UI にいくつかの改善を実装しました。 まず、エディターのタブからファイルをブックマークできる機能を復活させました。タブを右クリックしてコンテキストメニューを呼び出し、Bookmarks(ブックマーク)を選択するだけです。 また、開いているすべてのタブのすべてのファイルを Bookmarks(ブックマーク)に追加できるようになりました。 先ほどと同じコンテキストメニューを呼び出して Bookmark Open Tabs(開いているタブのブックマーク)を選択するか、エディターのタブペインの右にあるケバブ(三点リーダー)アイコンを使ってこのアクションを呼び出せます。 IDE は開いているすべてのタブを新しいブックマークリストに挿入します。このリスト名は自由に設定可能です。
IntelliJ IDEA 2022.3 には、コードの見た目を、ファイル上の実際のフォーマットと異なるフォーマットで表示できる機能が導入されています。 Reader モードに新しい視覚整形レイヤーを適用すると、実際のコードを整形することなく、カスタム整形スキームに合わせてコードの外観が調整されます。
IDE の起動エクスペリエンスを最適化するため、パフォーマンスを大幅に改善しました。逐次実行するように使用されていた一部のプロセスを並列化し、クラスの Eager ロードを削減しています。 また、アクションの更新をバックグラウンドスレッドに移すことで UI の応答性を改善し、VFS のリフレッシュをマルチスレッド化することでインデックス作成処理を強化しています。
貼り付けアクション(Ctrl+V)の動作を改良しました。 コードが選択されていない状態で行のコピー(Ctrl+C)または切り取り(Ctrl+X)を行った場合、貼り付けアクションでは従来バージョンのようにキャレットの位置ではなく、現在行の上にクリップボードの内容が追加されます。 また、Settings(設定)/Preferences(環境設定)| Advanced Settings(高度な設定)には、未選択の状態でコピーアクションを呼び出した後にコピー対象の行が選択される動作を無効にできる新しいオプションが追加されています。
JavaScript と TypeScript 対応の Code Vision インレイヒントを実装しました。 これらのヒントには inheritors(継承)、usages(使用箇所)、code authors(コード作成者)、related problems(関連する問題)などのメトリクスが表示されるため、コードに関するインサイトをエディター内で直接かつ瞬時に把握できます。
潜在的な危険やエラーからコードを保護するため、各種の新しい Java インスペクションとクイックフィックスを実装しました。 すべての分岐に共通するステートメントを含む switch 式を検出し、そのステートメントを switch 式に移動してコードを短縮するクイックフィックスを提供する新しいインスペクションが追加されています。 IDE が冗長な配列の長さチェックと、Collection.parallelStream()
に続く冗長な parallel()
呼び出しを報告するようになりました。 また、要素または文字が 1 つしか使用されていない場合に配列、リスト、または文字列が無駄に作成されていることを報告する新しいインスペクションもあります。 IntelliJ IDEA 2022.3 の新しいインスペクションとクイックフィックスについては、こちらのブログ記事をご覧ください。
IntelliJ IDEA 2022.3 は 2022 年 9 月にリリースされた Java 19 の新機能をサポートしています。 IDE はレコードパターンに加えて switch 式のパターンマッチングへの変更をサポートしており、対応するコードのハイライト、補完、およびナビゲーション機能を提供しています。 既存のインスペクションとクイックフィックスは、この変更をサポートできるように更新されています。 詳細は、こちらのブログ記事をご覧ください。
IntelliJ IDEA 2022.3 は、新しい ..<
演算子や data object 宣言など、Kotlin 1.7.20 で導入された機能を完全にサポートしています。
キャッシュとインデックスの使用を最適化し、コード解析の速度と安定性を高めました。 また、.gradle.kts ファイルのコード補完アルゴリズムを改善しました。当社のベンチマークによると、コード補完の速度が最大で 4~5 倍に向上しています。
バージョン 2022.3 では、Scala 3 のサポートを改善するために多くのアップグレードが行われています。 The IDE now supports parameter untupling and quoted patterns, and it features many improvements to the support for match types and type variables. 型変数の型推論が追加され、パターンマッチング用に正しく解析されるようになりました。 トレイトコンストラクターの名前付き引数も正しく処理されるようになり、トップレベルの定義用に Scala 3 の列挙型ファイルか空の Scala ファイルを素早く作成するアクションを使用できるようになりました。 また、TASTy Reader にも多くの強化がなされ、ハイライトの精度とエディターのパフォーマンスが向上しています。
public のクラス、メソッド、またはフィールドは private か protected に変更可能な場合があります。 ただし、コードが複雑な場合はこれが可能かどうかを知るのが難しい場合があります。 新しい Can be private(private に変更可能)インスペクションはそれを確実に知るのに役立ち、対応するクイックフィックスも提案します。 実際に private に変更できるメンバーを private にすると、インターフェースを実装内容から分離してコードを理解しやすくなります。 また、これによって自動補完時に余計な要素が減ることで分かりにくさが軽減され、自動補完をより簡単かつ迅速に使えるようになります。 コンパイラーと IDE のパフォーマンスの改善にも寄与します。
パラメーター情報が型パラメーターに表示されるようになり、よりスマートになりました(以前は値パラメーターにのみ表示されていました)。 Formerly, you may have seen that in the Parameter Info popup, the context bounds were desugared, showing implicit parameters. このバージョンでは、プロンプト内のコードが簡略化されて読みやすくなっています。 これは、高カインド型を使用するライブラリを保守する方には特に便利でしょう。
メソッド内に未解決のシンボルがある場合に、このシンボルをメソッドパラメーターのリストに追加できる新しいクイックフィックスが追加されました。
親の処理時間と標準ライブラリメソッド実装(java.util など)の大部分を占める一連の呼び出しをグループ化し、フレームグラフに折りたたんだリストとして表示する新しい機能を導入しました。 これにより、データをより簡単に処理し、最も最適化できる可能性が高いターゲット(大量の計算リソースを必要とする呼び出し)に集中しやすくなります。 また、ポップアップの応答性を高めてスケールを追加したため、記録されたスナップショットの合計実行時間に関連する呼び出しの期間に集中しやすくなっています。
バージョン 2022.3 では、スナップショットでのネイティブ呼び出しの表示を改良しました。 呼び出しの数を減らして最も一般的なパフォーマンスの問題を調査しやすくするため、ネイティブ呼び出しはデフォルトでは収集されず、スナップショットから除外されるようになっています。 ネイティブ呼び出しを追跡して可能な限り完全に近いアプリケーション実行時の全体像を把握したい場合は、Settings(設定)/Preferences(環境設定)| Build, Execution, Deployment(ビルド、実行、デプロイ)| Java Profiler(Java プロファイラー) で有効にできます。
分かりにくさを軽減し、リクエストに関する最も重要な情報を一目で把握できるようにレビューリストの UI を改良しました。 この改善では、サポートされているすべてのレビュープラットフォームの外観を統一しました。
IntelliJ IDEA 2022.3 provides code completion and navigation for Gradle version catalogs in Groovy build scripts. また、build.gradle ファイルでの Groovy のコードハイライトを微調整し、新しいインスペクションをいくつか実装しました。 IDE が非推奨の構成メソッドをハイライトし、関連する代替オプションを提案するようになっています。 It also detects incorrect usages of the plugins DSL in build scripts and provides a set of new inspections that encourage the use of task configuration avoidance APIs, as recommended by Gradle.
With IntelliJ IDEA 2022.3, we’ve introduced experimental Maven import functionality using the new IntelliJ Workspace Model API. この変更により、Maven プロジェクトのインポート処理速度が確実に最大で 10% 向上します。 このオプションは、Settings(設定)/Preferences(環境設定)| Build, Execution, Deployment(ビルド、実行、デプロイ)| Build Tools(ビルドツール)| Maven | Importing(インポート)でデフォルトで有効になっています。 この段階ではすべての機能が使用できるわけではないため、手動で行ったモジュール設定の一部は再インポート時に保存されないことに注意してください。
バージョン 2022.3 からは Maven2 の組み込みサポートを廃止し、Settings(設定)/Preferences(環境設定)| Plugins(プラグイン)で検索してインストール可能な、または Marketplace からダウンロード可能な単独のプラグインを通じて提供するようにしました。
Java デバッガーのデータフロー解析(DFA)機能を改善しました。 すでに DFA 支援によって一部の式が将来取りうる値を予測することは可能でした。 このバージョンでは、アナライザーがコードの特定の分岐が実行されないことを予測できる場合に、そのコードの部分がグレー表示されるようになりました。
IntelliJ IDEA 2022.3 では、メソッドをカバレッジ統計から除外するために使用するプロジェクトのアノテーションを管理できます。 IDE にテストしないメソッドを指示するには、そのメソッドにアノテーションでタグ付けしてから Settings(設定)/Preferences(環境設定)| Build, Execution, Deployment(ビルド、実行、デプロイ)| Coverage(カバレッジ)を開き、そのアノテーションを Exclude annotations(除外アノテーション)リストに追加します。
IntelliJ IDEA Ultimate が Jakarta EE 10 を完全にサポートするようになりました。 File(ファイル)| New Project(新規プロジェクト)| Jakarta EE で Jakarta EE 10 を選択すると、新しい仕様バージョンを使ったプロジェクトを作成できます。
IntelliJ IDEA Ultimate 2022.3 では JPQL 言語のコードインサイト機能が改善されており、set 演算(union
、intersect
、except
)、filter 演算、サブクエリの select、set 集計といった最新の Hibernate 6.1 API がサポートされています。
Liquibase ツールを操作するためのコードインサイト機能を拡張しました。 db/changelog/
ディレクトリで File(ファイル)| New(新規)| Liquibase Changelog(Liquibase 変更ログ) を呼び出すと、新しい Liquibase 変更セットファイルを簡単に作成できるようになっています。 また、IntelliJ IDEA Ultimate では Liquibase YAML ファイルに対応したハイライト、コード補完、および検証機能も追加されており、liquibase.properties で利用可能なすべてのコード補完候補が提案されるようになっています。
IntelliJ IDEA Ultimate 2022.3 では、Bean 注入ポイントをチェックし、欠落しているかあいまいな依存関係を報告する新しいインスペクションが導入されています。 また、注入された依存関係への移動と Bean 修飾子(@Named、@Primary など)のインスペクションも改善されています。 さらに、ガターアイコンを使って注入された Bean に移動できるようにもなっています。
JSON フラグメントが Micronaut MongoDB のクエリアノテーションに注入されるようになりました。 IntelliJ IDEA Ultimate には、演算子とパラメーターのコードハイライトやフィールドと演算子のコード補完も追加されています。 Micronaut のマップ対象エンティティクラスとそのフィールドに移動用のガターアイコンが表示されるようになったため、マッピング対象コレクションのデータベースツールウィンドウを簡単に開くことができます。
IntelliJ IDEA Ultimate 2022.3 では、Ktor プロジェクトの OpenAPI ドキュメントを生成できるようになりました。 これを行うには、embeddedServer 関数呼び出しにキャレットを配置して Alt+Enter を押し、ポップアップから Generate OpenAPI documentation for current module(現在のモジュールの OpenAPI ドキュメントを生成)を選択します。 すると、IDE がアプリケーションリソースに OpenAPI 仕様を生成します。
Kubernetes ファイル、OpenAPI 仕様、docker-compose.yml ファイルなど、YAML ファイルのコメントでインスペクションを抑止する新しいクイックフィックスが導入されました。 また、# で始まる 3 行以上のブロックで構成される複数行コメントを折りたたむオプションも導入されました。
HTTP クライアントで、リクエスト前に実行されるスクリプトブロックがサポートされました。 リクエストを実行する前にデータを生成し、それを変数を使用して最終的なリクエストに含めることができます。 IntelliJ IDEA Ultimate には сrypto API も導入されており、HTTP リクエストで md5 または sha1 ハッシュを計算できるようになりました。 単純なケースに対応できるよう、IDE に新しい random 変数が追加されました。 また、HTTP クライアントで gRPC メタデータをサポートするようにしたため、メタデータをリクエストヘッダーとして渡すことができます。
HTTP クライアントで URL が長いリクエストの整形オプションが改善されました。 Put query parameters on separate lines(クエリパラメーターを別々の行に配置)インテンションアクションを使用してクエリを小さなフラグメントに分解し、それを別々の行に配置することも可能です。 HTTP リクエストの書式を管理しやすくするため、Settings(設定)/Preferences(環境設定)| Editor(エディター)| Code Style(コードスタイル)| HTTP Request(HTTP リクエスト)| Wrapping and Braces(折り返しと括弧)に新しいオプションを実装しています。
バージョン 2022.3 の IntelliJ IDEA は、WSL で実行する Docker への接続をサポートしています。 このような接続は、Settings(設定)/ Preferences(環境設定)| Build, Execution, Deployment(構築、実行、デプロイ)| Docker でセットアップできます。
Dockerfile、docker-compose.yml、または Testcontainers を使用するテストの必要なイメージを実行することなく、簡単にプルできる方法が追加されました。 ハイライト中のイメージ名でコンテキストアクション(Alt+Enter)を呼び出し、Pull Docker image(Docker イメージのプル)を選択します。
コードハイライトやコード補完を含め、.dockerignore ファイルを完全にサポートするようになりました。 IDE からイメージをビルドする際に、これらのファイルが考慮されるようになっています。
ヒアドキュメントでは、後続の Dockerfile 行を RUN
または COPY
コマンドの入力にリダイレクトできます。 IntelliJ IDEA がこの構文をサポートするようになったため、Dockerfile ファイル内でこの構文を使用して構成ファイルや複数行のスクリプトを直接生成できます。
Docker 構成ファイルに対応する設定がすでに存在する場合、Docker コンテキストを使用して追加の Docker 接続をセットアップできるようになりました。 セットアップを実施するには、Services(サービス)ビューで Add Service(サービスの追加)コンテキストメニューを呼び出し、Docker Connections From Docker Contexts(Docker コンテキストからの Docker 接続)を選択します。
Since Docker Machine has been deprecated by Docker, we’ve removed it from the list of connections in Settings/Preferences | Build, Execution, Deployment | Docker. Docker Machine を現在使用しているユーザーは、API の URL を使って引き続き接続可能です。 Docker マシンのリストを取得して対応する URL を入力するか、certs フォルダーへのパスを入力してください。
特定のアクションがゲストに対して無効になっている場合、そのアクションがグレー表示され、スペースに余裕がある場合には詳しい説明が表示されるようになりました。 これによって混乱を抑制し、単純明快なコラボレーションを実現します。
ARM64 バックエンドの需要が高まっており、これは最も要望の多い機能の 1 つであったことでも裏付けられています。 IntelliJ IDEA プロジェクトを ARM64 マシンでホストし、任意のノートパソコンからリモートで作業できるようになりました。 すべての処理は ARM 64 マシンで行われるため、ユーザーは軽量のクライアントを使って作業できます。
ポート転送はリモート開発で重要な役割を果たしています。 そのことを踏まえて、ポート転送のインターフェースをより使いやすく改良しました。 開いているポートとそのステータス、さらにはポートの追加または削除オプションを含む完全な概要が表示されるようになりました。
ホストマシンのステータス報告メカニズムを完全に作り直しました。 実行中のマシンや到達不能マシンなどを明確に確認できるようになっただけでなく、すべてのチェックがバックグラウンドで行われるようになり、パフォーマンスが向上しています。
Aqua プラグインには、UI 自動化の高度なサポートが備わっています。 バージョン 2022.3 では、ウェブインスペクターを IDE 内で使用するか、より広いスペースが必要な場合に別のウィンドウで使用するかを選べる 2 つのモードを導入しています。
Aqua プラグインには、ロケーター評価ツールという新しいウェブインスペクターの機能が備わっています。 指定した任意のロケーターについて、それが参照しているウェブページ上のすべての要素をロケーター評価ツールがハイライトし、一致の数を表示します。 別のロケーターオプションも提案されます。
ウェブインスペクターが開いている場合、自動補完によって使用可能なロケーターの候補が提案され、組み込みブラウザー内でハイライトされます。
使い慣れた Ctrl+Click ショートカットかコンテキストメニューアクションを使用して、ウェブページ上の要素間を移動できるようになりました。
データベースエクスプローラーに待望のアップデートが導入されました。 クイック検索を使用する際にオブジェクトを絞り込めるようになりました。 一致しないすべてのオブジェクトは非表示になります。
データエディターでの日時/タイムスタンプ、時刻、および日付フィールドの表示方法をカスタマイズできるようになりました。 この設定は、Database(データベース)| Data Editor and Viewer(データエディターとビューアー)にあります。 次は、タイムゾーン付き時刻型とタイムゾーン付きタイムスタンプ型のサポートを追加する予定です。
バージョン 2022.3 では、正規表現パターンに基づいてイントロスペクションのデータベースまたはスキーマを選択できるようになりました。 これを行うには、Add Pattern(パターンの追加)をクリックして、新しいノードに正規表現パターンを定義します。 データベースまたはスキーマが、そのパターンに従って選択されるようになります。 複数のパターンを追加した場合、それらは競合することなく組み合わされます。 旧バージョンとは異なり、All(すべて)ノードがデフォルトのスキーマを自動的に選択しなくなっているため、 All schemas(すべてのスキーマ)、Default schema(デフォルトのスキーマ)、または正規表現フィルターの適用から選択する必要があります。
IntelliJ IDEA の ウェルカム画面で使用できる New Project(新規プロジェクト)ウィザードに、Vite と Next.js 用のプロジェクトテンプレートが追加されました。 また、Vue 用のプロジェクトテンプレートも最新の標準に従って更新されました。
IntelliJ IDEA が未解決のインポートを処理し、Vue コンポーネントのインポートに関する提案を示すようになりました。 また、props 分割代入構文を新たにサポートしており、Vue ライブラリコンポーネントの props に対応したコード補完と型チェックの動作改善、および Nuxt 3 に関する複数の問題の修正も行われています。
IntelliJ IDEA 2022.3 supports Vitest, a Vite-native unit test framework! ガターアイコンなど、必要とされるすべての基本操作でテストの実行、再実行、およびデバッグを行えます。 また、すべてのテストシナリオに対してウォッチモードがデフォルトで有効になっています。 ウォッチモードではスナップショットテストとカバレッジもサポートされているため、コーディング中にカバレッジに関するフィードバックをほぼ瞬時に受けることができます。
Angular テンプレートで型の絞り込みをサポートしました。これにより、さらに正確な型情報が提供され、コード補完候補が改善されるようになります。 また、IntelliJ IDEA がより適切な検索結果を提供できるよう、グローバル検索から .angular
キャッシュフォルダーを除外するようになりました。
IDE 内で Java、Kotlin、Scala、Python、Go、およびその他のプログラミング言語の学習や、既存スキルの向上に直接取り組めるようになりました。 この新機能では、独自の教育コースを作成することも可能です。 この機能にアクセスするには、ウェルカム画面の Learn(学習)タブを開き、Enable Access(アクセスの有効化)をクリックしてください。 Java と Kotlin 以外の言語については、追加プラグインのインストールが必要になりますのでご注意ください。