IntelliJ IDEA 2022.2 の新機能

IntelliJ IDEA 2022.2 には、リモート開発機能をより使い易く、安定化するための品質改善が複数含まれています。 IntelliJ IDEA バージョン 2022.2 は JetBrains Runtime 17 を使用しており、さまざまな面で IDE のエクスペリエンスとパフォーマンスが強化されています。 IntelliJ IDEA Ultimate には、Spring 6 と Spring Boot 3 の機能サポートが追加され、その他複数のフレームワークのアップデートが導入されています。 新しいバージョンには、以下に示すその他多数の注目すべきアップデートと改良が搭載されています。

主な更新内容

リモート開発

リモート開発の改善
ベータ
Ultimate

IntelliJ IDEA 2022.2 では、リモート開発に多数の重要なアップグレードを導入し、より安定した使用感と豊富な機能を得られるようになりました。 新たにリリースされたアップデートでは、さまざまな品質面での改善が行われています。 ノートパソコンからリモートサーバーにインストールされた IntelliJ IDEA に SSH で接続し、円滑な開発者エクスペリエンスを得られます。 新しいバージョンで JetBrains Space を使用して効果的にバックエンドをオーケストレーションすると、直接 IntelliJ IDEA から開発環境を管理できます。 詳細については、このブログ記事を参照してください。

JBR 11 から JBR 17 への切り替え

JBR 11 から JBR 17 への切り替え

As of v2022.2, all IntelliJ IDEA updates come with JetBrains Runtime 17 (JBR 17), which brings a significant IDE performance improvement, better security, enhanced rendering performance on macOS thanks to the Metal API, and more. 詳細については、こちらのブログ記事をご覧ください。

Spring 6 および Spring Boot 3 の機能サポート
Ultimate

IntelliJ IDEA 2022.2 では、新しい@AutoConfiguration クラスや @ConfigurationProperties クラス、@ConstructorBinding を明示的に使用せずに構文をバインドする新しいコンストラクターなど、Spring 6 と Spring Boot 3 の機能が完全にサポートされています。 Spring 6 を試す場合や、プロジェクトをこの新しいバージョンに切り替える場合は、必ず IDE をアップデートしてください。

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

現在のファイルの実行

現在のファイルの実行

専用の実行構成を使用せずに単一のファイルの実行とデバッグを行いやすくするために、新しい Run Current File(現在のファイルの実行)機能を導入しました。Run/Debug ウィジェットで使用できます。 この機能を使用すると、現在開いているファイルを実行してデバッグできるほか、そのファイルに最適な実行構成タイプが IDE によって自動的に選択されます。

フォントサイズを全体的に変更するキーボードショートカット

エディター内全体のフォントサイズを変更する新しいキーボードショートカットが導入されました。 フォントサイズを大きくするには、Alt+Shift+ピリオドを押し、 小さくするには、Alt+Shift+カンマを押します。 また、現在のフォントサイズとそれをデフォルトに戻すオプションを表示するフォントサイズのインジケーターが追加されました。

macOS の Merge All Project Windows(すべてのプロジェクトウィンドウをマージ)アクション

macOS の Merge All Project Windows(すべてのプロジェクトウィンドウをマージ)アクション

macOS 向けに、開いているすべてのプロジェクトウィンドウをそれぞれタブに変換し、1 つのウィンドウにマージして作業スペースを整理する機能を導入しました。 このアクションを実行するには、Window(ウィンドウ)| Merge All Project Windows(すべてのプロジェクトウィンドウをマージ)に移動します。

インスペクションのハイライト表示構成を強化

エディター内のインスペクションの表示方法を重要度レベルを変更せずに構成できるようになりました。 インスペクションのハイライトスタイルを変更するには、新しい Highlighting in editor(エディター内のハイライト)ドロップダウンメニューを使って設定できます。このメニューには、使用できるすべてのオプションが表示されます。

ウェルカム画面の「リポジトリをクローン中」進捗バー

ウェルカム画面の「リポジトリをクローン中」進捗バー

リポジトリをクローン中」進捗バーが IDE のウェルカム画面に表示されるようになりました。プロジェクトリストに表示されるため、より明確で使いやすくなっています。

ニーモニックブックマークの新しい説明フィールド

ニーモニックブックマークの新しい説明フィールド

Add Mnemonic Bookmark(ニーモニックのブックマークを追加)ダイアログに Description(説明)フィールドが追加されたため、ブックマークのオプションの説明をすぐに追加できるようになりました。

エディター

ブロックコメントの自動クロージャを無効にする新しい設定

ブロックコメントの自動クロージャを無効にする新しい設定

Enter キーを押してブロックコメントの自動クロージャを無効にできるようになりました。 無効にするには、Settings(設定)/ Preferences(環境設定)| Editor(エディター)| Smart Keys(スマートキー)に移動し、Enter セクションの Close block comment(ブロックコメントを閉じる)チェックボックスをオフにします。

コード補完設定への高速アクセス

コード補完設定への簡単アクセス

Code Completion Settings(コード補完設定)にアクセスし、コード補完ポップアップのケバブ(縦三点リーダー)メニューボタンから環境設定を構成できるようになりました。

ファイルタイプの関連付けを調整できる新しい通知パネル

ファイルタイプの関連付けを調整できる新しい通知パネル

ファイルが誤って明示的にプレーンテキストに関連付けられている場合、IntelliJ IDEA が間違ったファイル形式の関連付けについて通知し、直接エディター内でリセットすることを提案するようになりました。Settings (設定)/ Preferences(環境設定)でリセットを手動で行う必要はありません。

Markdown ファイルに目次を生成する新しいアクション

Markdown ファイルに目次を生成する新しいアクション

ドキュメントヘッダーに基づいて Markdown ファイルに目次を簡単に生成できるようになりました。 この新しいアクションは、Alt+Insert ショートカットか右クリックで呼び出せる Insert(挿入)と Generate(生成)ポップアップメニューから使用できます。 IDE は現在のキャレット位置に目次を挿入して <!-- TOC --> タグで閉じるため、後で同じメニューを呼び出して更新することができます。

Java

インスペクションとコード補完の改善

Java インスペクションに広範な変更を導入し、潜在的なバグの追跡とコードの単純化を行いやすくしました。 たとえば、 Standard ‘Charset’ object can be used(標準の 'Charset' オブジェクトを使用可能)インスペクションが改善されており、.name().toString() が認識されるようになっています。 IDE がパターン変数によってフィールドが非表示になっていることを警告し、無意味な Objects.requireNonNullElse の呼び出しをキャッチできるようになりました。 JUnit に関連する多数の Java インスペクションが JVM インスペクションに変換され、Kotlin でも利用できるようになりました。 また、コード補完で適切な場合に .class リテラルが提案されるようになりました。

その他の Java 関連の改善内容については、ブログ記事をご覧ください。

Kotlin

Kotlin 1.7.0 機能のサポート

Kotlin 1.7.0 機能のサポート

最新の言語バージョンである Kotlin 1.7.0 で導入された機能のサポートを追加しました。 IDE が確実に非 nullableな型を正しくレンダリングして、オプトイン要件に対応した有用なインスペクションを提供するようになりました。

Kotlin デバッガーでのデータフロー解析のサポート

Kotlin デバッガーでのデータフロー解析のサポート

Kotlin デバッガーにデータフロー解析機能を統合して、true になる条件と実行されるブランチを示す DFA ヒントを表示するようにしました。 従来、この統合は Java のみで可能でしたが、Kotlin でもサポートされるようになりました。

IntelliJ IDEA のネイティブのビルダーがプロジェクトで指定したバージョンの Kotlin コンパイラーを使用

バージョン 2022.2 より、IntelliJ IDEA のネイティブのビルダーがバンドルされている Kotlin コンパイラーを使用しなくなりました。 ローカルビルドも CI ビルドも、プロジェクト設定で指定されたバージョンの Kotlin コンパイラーを使って実行するようになっています。 この変更により、バンドルされているコンパイラーバージョンとプロジェクトのビルドファイルで定義されたバージョンの不一致が原因で発生していたローカルビルドと CI ビルド間の矛盾が解消されます。 詳細については、このブログ記事を参照してください。

Kotlin 用 IDE のパフォーマンス改善

最近行われたインデックスの最適化作業により、コードハイライト、補完、および使用箇所の検索について IDE の速度とパフォーマンスにかなり良い影響が出ています。

Scala

Scala 3 のサポート改善

Scala 3 のサポート改善

バージョン 2022.2 より、IntelliJ IDEA が .tasty ファイルから match タイプを読み取って適切に解析し、型変数を解決して型引数として使用できるようになりました。また、インスペクションがサポートされており、型をテキストとして表示できるようになりました。 On top of that, we’ve added support for Option-less extractors , type lambdas and polymorphic function types , type-level compiler intrinsics , and ? as a wildcard together with _ in Scala 2.13.9 and 2.12.16. コピーペストされたコードのインデントも正しく設定されるようになっています。

新しい Scala のインスペクション

新しい Scala のインスペクション

IntelliJ IDEA 2022.2 では、return キーワードが匿名関数内で使用されていることを警告し、その関数内のすべてのコードを実行せずに終了するようになりました。 このような使用は一般的には意図的なものではないため、リークが発生する実装や表面化しないパフォーマンスの問題につながる可能性があります。 private または class パラメーターによってスーパークラス変数がシャドーされている場合、新しい警告が表示されるようになりました。 また、コンパイラーが許容しない方法で変数をオーバーライドしようとした場合にはエラーが表示されます。 これらの新しい警告は、対応するコンパイラーオプション(-Xlint:nonlocal-return および -Xlint:private-shadow)が存在する場合に表示されるように構成できます。

カンマ区切りリストの要素を別々の行に分割

カンマ区切りリストの要素を別々の行に分割

コレクションに引数または要素のリストがあるせいで極端に長くなっている行がある場合、ポップアップメニューの Put arguments on separate lines(引数を別々の行に配置)アクションを使用して、リストを複数行に素早く分割できるようになりました。 これと逆の操作も可能です。複数行のリストが十分に短い場合、Put arguments on one line(引数を 1 行に配置)アクションを使用して複数行を 1 つの行に変換できます。

Scala のコンパイラーベースのハイライト

Scala のコンパイラーベースのハイライト

リソースの使用状況を改善するため、コンパイラーベースのハイライトが調整されました。 IDE がユーザーが定義するファイルのハイライト設定を尊重するようになりました。 コンパイルがトリガーされるケースが減少したため、バックグラウンドスレッドの使用も減少しています。 コンパイルスコープは関連性のあるモジュールとソースのスコープに縮小されています。

型パラメーターに対応した Safe Delete(安全な削除)

型パラメーターに対応した Safe Delete(安全な削除)

Safe Delete(安全な削除)アクションは、ある要素を定義とそのすべての呼び出しから削除します。 このアクションが、型パラメーターでも動作するようになりました。

Groovy

GINQ のサポート

GINQ のサポート

We’ve added support for Groovy-Integrated Queries (GINQ). IDE が Groovy 4 のこの機能に対応した構文ハイライト、コード補完、およびインスペクションを提供するようになりました。

セキュリティ

信頼済み SSL 証明書のインポート

IntelliJ IDEA 2022.2 では、システムのトラストストアから信頼済み SSL 証明書をインポートできるようになりました。 エンタープライズ環境に固有のカスタム証明書が自動的に使用されます。 ユーザー側の操作は不要で、すべて初期状態で機能します。

プロファイラー

プロファイリング中に使用できる CPU とヒープメモリチャート

プロファイリング中に使用できる CPUヒープメモリチャート
Ultimate

IntelliJ Profiler のアップグレードにより、スナップショットを収集しやすくなりました。 プロファイリングを開始すると、CPUHeap Memory(ヒープメモリ)のライブチャートがコンソールと並んで表示されるようになっています。 そのため、アプリケーションから指定したプロファイル期間のスナップショットを多数収集しながら、アプリケーションのパフォーマンスを確認できます。

Kotlin インライン関数のサポート

Kotlin インライン関数のサポート
Ultimate

Flame Graph(フレームグラフ)、Call Tree(呼び出しツリー)、および Method List(メソッドリスト)で Kotlin インライン関数が他の関数と共に表示されるようになったため、CPU 時間を確認し、必要に応じて最適化できるようになりました。 この機能は現在、Linux と macOS で動作し、Start profiling(プロファイリングを開始)オプションのみを使用できます。 Windows サポートを追加できるように作業を勧めています。また近日 Attach(アタッチ)モードも追加する予定です。

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

Spring 6 の新しい宣言型 HTTP クライアントのサポート
Ultimate

Spring Framework 6 では、アノテーション付きのメソッドで HTTP クライアントを Java インターフェースとして定義することができます。 IntelliJ IDEA 2022.2 では、このようなインターフェースに対応した HTTP クライアントとの統合、URL 補完、およびナビゲーションを提供しています。

Spring Cloud Gateway ルートの URL 補完とナビゲーション
Ultimate

IntelliJ IDEA Ultimate で Spring Cloud Gateway URL に対応した URL 補完、Search Everywhere(どこでも検索)機能、および Find Usages(使用箇所の検索)のヒントを使用できるようになりました。 Endpoints(エンドポイント)ツールウィンドウを使用して、HTTP リクエストの生成やすべてのゲートウェイルートの検索を簡単に行えます。

JVM マイクロサービステストとモックフレームのコードインサイトの改善
Ultimate

IntelliJ IDEA 2022.2 では、Spring WebTestClient、RestAssured、WireMock、MockServer などの一般的な Java API を使ってテストする際に、JSON/XML の本体が自動的にハイライトされるようになりました。 そのため、これらのデータフラグメントの可読性が高まり、編集しやすくなっています。 また、テストでこれらの箇所の URL 補完と宣言への移動機能も使用できるようになっています。

Java 用の実験的 GraalVM ネイティブデバッガー
Ultimate

IntelliJ IDEA 2022.2 は、GraalVM ネイティブイメージバイナリのデバッグを支援できるようになっています。 デバッガーを任意の GraalVM ベースの実行可能ファイルにアタッチするか、デバッガーがアタッチされた状態でアプリケーションを起動することができます。 Maven/Gradle プロジェクトでは、対応する実行構成が自動的に作成されます。 この統合は実験的であり、GraalVM の開発ビルドとこちらのプラグインがインストールされている必要があります。

Protobuf および Java ソース間の移動を改善

Protobuf および Java ソース間の移動を改善
Ultimate

.proto ファイルから生成されたコードとソース間を簡単に移動できるようになりました。 gRPC プラグインと Protocol Buffers プラグインの両方が有効であることを確認してください。

Spring Shell のコードインサイトを改善

Spring Shell のコードインサイトを改善
Ultimate

IntelliJ IDEA 2022.2 では、Spring Shell ライブラリで宣言された CLI コマンドが認識され、正確性がチェックされるようになりました。

JAX-RS エンドポイントのサポート改善
Ultimate

IntelliJ IDEA が URL 補完、ナビゲーション、Find Usages(使用箇所の検索)で @ApplicationPath とサブリソースとして宣言された JAX-RS 共通ウェブサービス URL パターンを正しくサポートできるようになりました。

HTTP クライアントでの WebSocket エンドポイントのサポート
Ultimate

IntelliJ IDEA Ultimate 2022.2 では WebSocket 接続がサポートされており、リクエストの作成とメッセージの送受信を行えます。

HTTP クライアントでの GraphQL エンドポイントのサポート

HTTP クライアントでの GraphQL エンドポイントのサポート
Ultimate

IntelliJ IDEA Ultimate が初期状態で HTTP および WebSocket プロトコルを介して GraphQL クエリを送信できるようになりました。 http://https:// では単純な HTTP リクエストが使用され、ws://wss:// は WebSocket 実行プログラムに処理が委譲されます。

HTTP クライアントの UI/UX 改善
Ultimate

HTTP クライアントにいくつかの UI/UX 改善を実装しました。 まず、ガターのアイコンを使用して実行環境を選択できる便利な機能を導入しました。 この機能を有効にするには、Run with(実行)コンボボックスから Select Environment Before Run(実行前に環境を選択する)オプションを選択してください。 次に、Response(レスポンス)ビューに進捗バーを追加し、ダウンロードプロセスを追跡できるように改善しました。

JSON、YAML、および .properties 文字列値のクリック可能な URL

JSON、YAML、および .properties 文字列値のクリック可能な URL
Ultimate

JSON、YAML、および .properties ファイルでは、http://https:// で始まる値に Web 参照が自動的に挿入されるようになりました。 これらのリンクはワンクリックでウェブブラウザーで簡単に開けます。また、HTTP クライアントの Context Actions(コンテキストアクション)メニュー(Alt+Enter)からリクエストを生成することも可能です。

Bean Validation アノテーションのサポート改善

Bean Validation アノテーションのサポート改善
Ultimate

IntelliJ IDEA 2022.2 では、Java と Kotlin で Bean Validation アノテーションのメッセージ属性に対する参照と折りたたみ機能のサポートが追加されました。 メッセージキーの補完を使用するか、i18n の ValidationMessages.properties ファイルにある宣言に移動することができます。

AWS CloudFormation プラグインの改良

AWS CloudFormation プラグインの改良
Ultimate

メタデータスキーマを更新し、プロパティ補完を改善することで、AWS CloudFormation プラグインを改良しました。 更新されたバージョンのプラグインは、JetBrains Marketplace からインストールできます。

Jakarta Persistence 3.1 のサポート
Ultimate

IntelliJ IDEA now supports all of the features in Jakarta Persistence 3.1, including the new JPQL syntax, functions, and types, and it provides language highlighting and code completion for them.

Docker

Testcontainers によるテストの Docker イメージ補完

Testcontainers によるテストの Docker イメージ補完

IntelliJ IDEA 2022.2 introduces image completion for the Testcontainers API where you can find all available Docker images and their versions. 参照をクリックすると、ウェブブラウザーで対応する Docker Hub の URL が開きます。

Minikube やその他の接続へのローカル Dockerイメージのアップロード

Minikube やその他の接続へのローカル Dockerイメージのアップロード

新しい Copy Docker Image(Docker イメージのコピー)アクションを使用して、Docker デーモンから別の Docker デーモンにイメージを簡単にコピーできるようになりました。このアクションは、イメージをファイルに保存して、選択された接続にプッシュします。

IDE 再起動時の Docker 自動接続

IDE 再起動時の Docker 自動接続

IntelliJ IDEA 2022.2 が IDE の再起動後に Docker へ自動接続できるようになりました。 この新しい設定はデフォルトで有効になっており、Settings(設定)/ Preferences(環境設定)| Advanced Settings(高度な設定) | Docker で切り替えることができます。

さまざまな Docker デーモン用の Docker 接続オプション

IntelliJ IDEA バージョン 2022.2 では Colima と Rancher を統合することで、さらに多くのオプションで Docker デーモンへの接続を確立できるようになりました。

Kubernetes

Kubernetes と Telepresence の統合

Kubernetes と Telepresence の統合
Ultimate

The Kubernetes plugin for IntelliJ IDEA 2022.2 provides integration with the Telepresence tool in order to intercept HTTP requests from services in the Kubernetes cluster and route them to your service running locally. このため、これらのサービスをデバッグをしてサービスの必要なサブセットのみをローカルで実行するのがより簡単になりました。

QA ツール

ページオブジェクトエディターのウェブページ構造を改善

ページオブジェクトエディターのウェブページ構造を改善

ウェブページ構造の UI が大幅に改善されました。 テキスト書式がハイライトされることで、タグ名、ID、適用先の CSS クラスなど、最も重要な箇所が読みやすくなりました。

ガターアイコンによる簡単な移動

ガターアイコンによる簡単な移動

ガターのアイコンをクリックするだけで、ページ要素に簡単に移動できるようになりました。

URL からのページオブジェクトの命名

URL からのページオブジェクトの命名

新しいページオブジェクトファイルを作成する際のウィザードにオプションの URL フィールドが追加されました。 ウェブアドレスが含まれている場合、ウィザードはリンクアドレスに基づくページオブジェクトのファイル名を提案します。 また、挿入された URL はページオブジェクトエディターが開く際に自動的に読み込まれます。

コードブロック終端へのキャレットの自動移動

コードブロック終端へのキャレットの自動移動

コードに新しいページ要素を追加する際に、追加されたコードブロックの終端にキャレットが自動的に移動するようになりました。そのため、コード内を簡単に移動して編集を続けられます。

コンテキストメニューから新しいページオブジェクトの作成

コンテキストメニューから新しいページオブジェクトの作成

既存のページオブジェクトクラスで作業中に新しい非参照ページオブジェクトクラスを入力する場合、未解決のコード警告のコンテキストメニューに移動して新しいページオブジェクトを作成するだけで、その警告を修正できます。

データベースツール

複数 CSV ファイルをインポートするオプション

複数 CSV ファイルをインポートするオプション
Ultimate

バージョン 2022.2 では、複数の CSV ファイルを選択してまとめてインポートする機能を実装することで、ファイルのインポート処理を強化しました!

Modify(変更)ダイアログの新しい UI

Modify(変更)ダイアログの新しい UI
Ultimate

Modify(変更)ダイアログの新しい UI がデフォルトのオプションになりました。 バージョン 2022.2 からは、この新しい UI を使用してテーブルのすべての子オブジェクトの追加と編集を行えます。 以前の UI は、引き続きコンテキストメニューから使用できます。

詳細情報

Playground(プレイグラウンド)と Script(スクリプト)解決モード

Playground(プレイグラウンド)と Script(スクリプト)解決モード
Ultimate

SQL スクリプトのデータベースオブジェクトをより正確に解決できるようにするため、Playground(プレイグラウンド)と Script(スクリプト)という 2 つの解決モードを実装しました。 前者はクエリ間での関連性がなく、特定の順序が適用されないクエリ一式である場合に最適なオプションです。 後者はクエリに順次ロジックがあり、単一のスクリプトとして実行する必要がある場合に適しています。

詳細情報

ウェブ開発

Angular スタンドアロンコンポーネントのサポート

Angular スタンドアロンコンポーネントのサポート
Ultimate

JetBrains は IntelliJ IDEA 2022.2 での Angular 14 のサポートに積極的に取り組んできました。 このリリースで追加された最も重要な機能は、Angular スタンドアロンコンポーネントのサポートです。 IntelliJ IDEA で、standalone: trueにマークされたコンポーネント、ディレクティブ、およびパイプが正しく認識されるようになりました。

Vue 3 のサポート改善

Vue 3 のサポート改善
Ultimate

IntelliJ IDEA 2022.2 では、Vue 3 のサポートが改善されました。 たとえば、v-if/else ディレクティブでの型の絞り込みを理解できるようになっています。 また、グローバルストアとして機能する、Vue チームが推奨する状態管理ソリューションである Pinia のサポートも改善されています。 Vue で Pinia ライブラリを使うことで補完と解決の両方が機能するようになったため、ストアに定義された状態プロパティとアクションに移動できるようになりました。

TypeScript 4.7 のサポート

TypeScript 4.7 のサポート
Ultimate

IntelliJ IDEA 2022.2 には、TypeScript 4.7 がバンドルされており、Node.js で moduleSuffixes や ESM といった新しい言語機能がサポートされています。 tsconfig.json ファイルで module が node16 または nodenext に設定されている場合、import ステートメントに自動的に .js 拡張子が挿入されます。 また、IDE は package.json ファイルの typesVersions フィールドをサポートしています。

その他

  • IntelliJ IDEA にバンドルされている Android プラグインに、Android Gradle プラグイン(AGP)7.2.x のサポートを含む、Android Studio Chipmunk の全機能が搭載されました。