IntelliJ IDEA 2021.3 にはリモート開発(ベータ)のサポートが追加され、Repair IDE...(IDE の修復...)アクションを使った IDE 問題の新しいトラブルシューティング手法が導入されました。 また、その他の有益な変更とともに、デバッガーの更新や Kotlin の定数条件インスペクションの追加が行われています。 以下の簡単な説明では、これらの機能やその他の注目すべき機能などを詳細に記載しています。
IntelliJ IDEA Ultimate でベータ版のリモート開発ワークフローがサポートされるようになりました。 IntelliJ IDEA バックエンドを実行中のリモートマシンに世界中どこからでも接続できます。 すべての処理は高性能なリモートマシン上で行われ、ローカルマシンで作業しているかのように円滑にプロジェクトに取り組むことができます。 この機能は、IntelliJ IDEA のウェルカム画面から、または JetBrains Toolbox App で入手可能な JetBrains Gateway という新しいアプリケーションから開始できます。
さらに、開発環境の作成、事前ビルド、共有、複製、休止、管理には Space を使用することができます。Space はソフトウェア開発パイプライン全体をカバーする統合プラットフォームです。
詳細については、こちらのブログ記事をご覧ください。
IntelliJ IDEA 2021.3 には、IDE が正常に動作しない原因を診断し、それを迅速に解決するための手段が新たに導入されています。 IDE が正常に動作していない場合は、File(ファイル)メニューから新しい Repair IDE...(IDE の修復...)アクションを呼び出してください。 ごく一般的な問題を一連の手順に従ってトラブルシューティングできます。
新たに Constant conditions(定数条件)インスペクションを追加しました。このインスペクションは、静的に必ず true、false、null、またはゼロとなる非自明な条件と値を IntelliJ IDEA に報告させることができます。 Java 用の類似するインペクションと同じように動作し、ほぼすべての同じチェックがサポートされています。 この新しいインスペクションは、Preferences(環境設定)/ Settings(設定)| Editor(エディター)| Inspections(インスペクション)| Kotlin | Probable bugs(潜在的なバグ) にあります。
チェーンメソッド呼び出しとラムダのある行をデバッグする場合に Step Into(ステップイン)アクションを使用すると、デフォルトで Smart Step Into(スマートステップイン)の機能が提供されます。 ステップインできるメソッドとラムダが強調表示されます。 この機能は、Debug(デバッグ)ツールウィンドウの上部ペインにある Step Into(ステップイン)ボタンをクリックするか、F7 ショートカットを使用すると呼び出せます。 IDE 内でコードにステップインできる箇所がハイライトされるため、必要な行をクリックして選択することができます。
デバッガーで Kotlin のインライン関数を検出し、スタックトレースパネルにインライン関数の呼び出しを表示できるようになりました。 このような呼び出しに移動して、フレームごとに変数を検査して評価することができます。
ご要望にお応えし、同時に開いているすべてのタブのフォントサイズを ⌘+マウスホイール(macOS)または Ctrl+マウスホイール(Windows、Linux)で変更できるようにしました。 この機能を有効にするには、Preferences(環境設定)/ Settings(設定)| Editor(エディター)| General(一般)に移動し、Change font size with Command + mouse wheel in(Command / Ctrl + マウスホイールで次の場所のフォントサイズを変更する)を選択して All editors(すべてのエディター)を選択します。 Active editor(アクティブなエディター)を選択している場合、このショートカットは現在作業中のファイルのフォントサイズのみを変更します。
IntelliJ IDEA には、インテンションアクションとクイックフィックスをコードに適用する前にその適用結果をプレビューできる便利なオプションがあります。 この機能は Intention actions(インテンションアクション)メニューから使用できます。 このプレビューを有効にするには、F1(macOS)または Ctrl+Q(Windows、Linux)を押してください。
インテンションのプレビューはバージョン 2020.1 で導入されて以来、継続的に改善されています。 IntelliJ IDEA 2021.3 では、より多くの Kotlin 用インテンションアクションとクイックフィックスで機能するようになり、未サポートのインテンションアクションに対する HTML 説明文が「Preview isn't available」(プレビューできません)メッセージからより分かりやすいメッセージに変更されています。 さらに、複数のファイルを変更するアクションについては、想定される結果が部分的にプレビューに表示されるようになっています。 この部分的な結果だけでも、アクションによる変更内容を全体的に把握するのに役立つはずです
IntelliJ IDEA 2021.3 では、簡単にテーブルを作成できます。 コンテキストメニューを呼び出して、Insert(挿入)| Table(テーブル) を選択してください。 これだけです! マウスホバー操作かキーボードで希望するサイズを選択できます。
テーブルのセルの幅は、入力内容に合わせて調整されます。 テーブルの内容は、フロートツールバーを使って編集できます。
新しい行を作成するには Shift+Enter を使用し、次のセルに移動するには Tab を使用します。
エディターのタブの操作がさらに簡単になりました。 タブペインの右隅にある縦三点リーダーをクリックするだけで、タブの全アクションにアクセスできます。
新しい Bookmarks(ブックマーク)ツールウィンドウを導入しました。これと非常によく似た Favorites(お気に入り)ツールウィンドウは、新しいツールウィンドウに置き換えられる予定です。 今後は、F3(macOS)または F11(Windows、Linux)ショートカットを使うだけで、ファイル、フォルダー、およびクラスを重要な項目としてマークすることができます。
IntelliJ IDEA でブックマークを追加すると、デフォルトでは Bookmarks(ブックマーク)ツールウィンドウ内のプロジェクトと同じ名前を含むノード内に追加されます。 新しいブックマークを追加するたびに、このノードのリストの上部にブックマークが表示されるようになります。 ブックマークは、ツールウィンドウの設定にある Sort Groups and Bookmarks(グループとブックマークの並べ替え)オプションを使って種類別に並べ替えることができます。 また、新しいノードを作成して、項目をドラッグアンドドロップすることも可能です。
バージョン 2021.3 では、タブで Run(実行)ツールウィンドウを分割できるようにしました。 これにより、複数の構成を同時に実行してすべての結果を確認することができます。
ウィンドウを分割するには、Run(実行)ツールウィンドウ内のハイライトされた領域に表示したいタブをドラッグアンドドロップします。 ウィンドウの分割を解除するには、上部ペインを右クリックし、コンテキストメニューから Unsplit(分割解除)を選択します。
アクションを検索する際、IntelliJ IDEA のSearch Everywhere(どこでも検索)がデフォルトで機械学習を使用するようになりました。 以下を考慮する ML ベースの方法をトレーニングしています。
この ML ベースのモデルによって検索の質が高まり、特定のニーズに合った結果が返されるようになることを願っています。
⌥F7(macOS)または Alt+F7(Windows、Linux)を使ってメソッド実装の使用箇所を検索する際、IDE が基本メソッドの使用箇所を検索するかどうかを確認するポップアップを表示しなくなりました。 代わりに、IntelliJ IDEA は上位階層のメソッドをデフォルトのターゲットとして検索します。 この動作を変更する場合は、Find Usages(使用箇所の検索)ツールウィンドウの設定にある Search for base method usages(基本メソッドの使用箇所を検索)チェックボックスをオフにします。この設定は、歯車アイコンをクリックするとアクセスできます。
Show Usages(使用箇所の表示)ダイアログに、便利な新機能が追加されました。 見つかった使用箇所ごとにソースコードをプレビューする機能が導入されています。上部のツールバーペインにある矩形アイコンをクリックするとプレビューできます。 また、Preview(プレビュー)アイコンの横にある新しいドロップダウンリストで検索範囲を変更できるようになっています。 さらに、ウィンドウのタイトルバーに、検索中のコード要素の種類と見つかった件数が表示されるようになりました。
小さな変更ではありますが、ダイアログの幅を設定できるようにして利便性を大幅に高めています。この設定は、次にダイアログを呼び出した時にも記憶されています。
バージョン 2021.3 では、IntelliJ IDEA プロジェクトウィザード内のノードが変更されていることにお気づきになるかと思います。
Empty Project(空のプロジェクト)ノードを選択して、種類の異なる個々のファイルを操作し、Java と Kotlin のクラスを追加するための基本プロジェクトを作成することができます。 IDE はプロジェクトを自動的に構成し、Java や Kotlin のクラスがある場合にコンパイルできるようにします。
新しい Multi-Module Project(マルチモジュールプロジェクト)ノードでは、複雑な構造を持つプロジェクトをゼロから作成することができます。 プロジェクトを作成したら Project Structure(プロジェクト構造)ダイアログが開き、さまざまなモジュールを追加することができます。
IntelliJ IDEA 2021.3 では、スクリーンリーダーを使った作業をより楽に行えるように、アクセシビリティに関する課題がいくつか解決されています。 皆さまのご要望にお応えして、マウスホバーで表示されていたツールウィンドウウィジェットのポップアップとクイックドキュメントのポップアップを無効にしています。 また、Go to Declaration (宣言に移動)ダイアログの呼び出しに関する課題も修正しています。
このリリースでは、macOS でのアクセシビリティサポートも改善されました。 VoiceOver のフォーカスに関する複数の問題を解決し、プロジェクトを作成する際に New Project(新規プロジェクト)ウィザード内のリスト項目をスクリーンリーダーが検出できるようにしています。 コーディング中の集中力低下を最小限に抑えるため、音声付きヘルプツールチップの数も減らしました。
IntelliJ IDEA が SQL インジェクションや XSS の欠陥、機密データの漏洩、および安全でない逆シリアル化などの危険が警告するようになりました。 また、安全でないデータを安全なメソッドに渡せないようにしています。 新たに追加されたこれらの警告は、新しい Non-safe string is passed to a safe method(安全でない文字列の安全なメソッドへの受け渡し)インスペクションが発します。
このインペクションを機能させるには、文字列に @Untainted
( “safe”) または @Tainted
(“unsafe”) アノテーションを付与する必要があります。 これらのアノテーションは、org.checkerframework.checker.tainting.qual
依存関係を追加すると有効になります。
コードを単純化するためのインスペクションを 2 つ追加しました。 1 つ目は、collect(toList())
を .toList()
に置換するように提案します。 Java バージョン 16 以降で使用可能です。 もう 1 つのインスペクションは collection.addAll(List.of("x"))
から collection.add(x)
への置換、および map.putAll(Map.of("a", "b"))
から map.put("a", "b")
への置換を提案します。
Java でローカル変数を導入する際、適用可能な設定がポップアップで表示されなくなりました。従来、このポップアップは記述中のコードを隠すように表示されていました。 代わりに、変数の横にある歯車アイコンをクリックするか、⌥⇧O(macOS)または Alt+Shift+O(Windows)のショートカットを使用してこれらの設定にアクセスできるようになりました。
また、Introduce parameter(パラメーターの導入)リファクタリングも改善しました。 ⌥⌘P(macOS)または Ctrl+Alt+P(Windows、Linux)でこのリファクタリングを呼び出すと、IDE から置換対象の出現箇所を指定するよう求められます。 指定後に表示される歯車アイコンをクリックすると、リファクタリングのその他の設定を構成できるようになります。
時には Run/Debug Configurations(実行/デバッグ構成)ダイアログで、構成ごとにカスタムクラスパスを定義する必要がある場合があります。 このバージョンからは Modify options(オプションの変更)| Modify classpath(クラスパスの変更)を選択してカスタマイズ可能になっています。
Kotlin で定数を抽出する新しいリファクタリングを導入しました。 このリファクタリングを使用するには、文字列にキャレットを置いて、⌥⌘C(macOS)または Ctrl+Alt+C(Windows、Linux)を押します。
Possibly blocking call in non-blocking context(ノンブロッキングコンテキストの潜在的なブロッキング呼び出し)は、誤ったコンテキストでコルーチンを使用していることを警告するインスペクションです。 このリリースでは、このインスペクションを警告のみならず、コンテキスト依存型クイックフィックスとしても機能させるようにしました。
さらに、その他の機能改善も行われています。 このインスペクションはより多くのケースをカバーするようになり、カスタマイズ可能であるため、特定の環境に合わせて適切に動作させることができます。
Kotlin がサポートしているさまざまな範囲の宣言は、分かりにくい場合があります。 範囲の宣言を少しでも分かりやすくするため、単純な数学記号を使って範囲内の語や文字の意味を説明するインラインヒントを追加しました。 この機能が不要な場合は、ヒント上で右クリックして Disable ‘Ranges’ hints type(‘範囲’ ヒントタイプ無効化)を選択すると簡単に無効化できます。
New Project(新規プロジェクト)ウィザードのレイアウトを改訂してすべてのフィールドにツールチップを追加し、入力に必要な情報を理解しやすくしました。 テンプレートセクションも更新されています。あまり使用されていないテンプレートを除去し、Compose ウェブアプリケーションを作成できる新しいテンプレートを追加しました。
さらに、プロジェクトのセットアップ手順も大幅に単純化されています。 今後は基本的なフィールドのみを入力するだけで十分です。
このリリースでは Scala 3 のサポートに重点を置いています。 end
マーカーのハイライト、ナビゲーション、および自動補完を追加し、 given
、using
、および export
キーワード、ソフトキーワード、および quiet 構文(括弧を省略した構文)も自動補完されるようになりました。 TASTy Reader は、package object
、および高カインド型の分散と境界を解析できるようになりました。 レクサーとパーサーエラーのハイライトは大幅に高速化しています。 Scala 3 対応のインスペクションも追加されています。 given
インポートの解決を改善し、final
トップレベルメンバーと abstract lazy val
を新たにサポートしています。
Scala 2 と Scala 3 の両方用にコンパイルする必要のある多くのプロジェクトは、技術的には Scala 2 プロジェクトであっても、Scala 2 用にクロスコンパイルされた Scala 3 プロジェクトとしてモデル化されます。
このようなプロジェクトは Scala 2 として開くと、IDE が正しい Scala バージョンを使用できるようになり、信頼性が高まります。
Scala プラグインがデータフロー解析をサポートするようになり、プログラミングのエラーをより検出しやすくなっています。 詳細については、最近公開したブログ記事をご覧ください。
Scala コンパイラーには非常に多くのオプションがあり、それをすべて暗記しているプログラマーはほとんどいません。 さらに、これらのオプションは使用している Scala バージョンによって異なります。
このバージョンからは該当するオプションを自動補完し、各オプションのクイックドキュメントを閲覧できるようになりました。
1 to 3
という範囲が、境界値を含むのか含まないのか判断に迷ったことはありませんか? 1 until 3
はどうでしょうか? Range(1, 3)
の場合は? もう迷うことはありません。答えは明白です。
IntelliJ IDEA 2021.3 では、エディターから npm パッケージを最新バージョンに直接アップデートできるようになりました! package.json ファイルを開き、アップデートするパッケージバージョンにキャレットを置いて ⌥⏎(macOS)または Alt+Enter(Windows、Linux)を押すと、Update ‘package name’ to the latest version(‘パッケージ名’ を最新バージョンにアップデート)を選択できます。 また、パッケージのバージョンにマウスを重ねるとクイックフィックスが表示されます。
HTML でコード補完が機能する仕組みを改善しました。 エディターにタグ名または略語を入力するか、コード補完を呼び出すと、IntelliJ IDEA がすぐに関連性の高い候補を表示します。 以前は、< を先頭に入力しなければ表示されませんでした。 また、文字エンティティ参照のコード補完動作も改善されています。
これは、Preferences(環境設定)/Settings(設定)| Tools(ツール)| SSH Configurations(SSH 構成) で SSH 構成に HTTP または SOCKS プロキシサーバーを指定できる待望の新機能です。 新しい HTTP/SOCKS セクションでプロキシの種類を選択してホスト名とポートを入力し、必要であればユーザー名とパスワードによる認証を適用することができます。 また、SSH プロキシ設定をグローバル IDE のプロキシ設定に同期させることも可能です。 これを行うには、Use global IDE proxy settings(グローバル IDE プロキシ設定を使用する)チェックボックスをオンにしてください。
.jfr
スナップショットの比較適用した変更がプログラムに適していたか、あるいはリグレッションが発生していないかを簡単に確認できるようになりました。 比較対象の 2 つのスナップショットを Profiler(プロファイラー)ツールウィンドウで開くだけで確認することができます。 最近のスナップショットで diff(差分)アイコンをクリックし、基準として使用するスナップショットを選択します。 結果は、フレームグラフ、呼び出しツリー、またはメソッドリスト形式で、IDE に表示されます。
バージョン 2021.2 では、macOS および Linux バージョンの IntelliJ IDEA で Async Profiler 2.0 を新たにサポートしました。 バージョン 2021.3 からは、Windows バージョンでも初期状態で Async Profiler 2.0 がサポートされています。 このサポートにより、より円滑なプロファイリングエクスペリエンスを得られるようになり、スナップショットでのネイティブ関数の表示方法も改善されています。
このリリースでは Run/Debug(実行/デバッグ)構成に若干の改善が加えられており、今回は Maven 構成が大幅に再設計されています。 重要なパラメーターは 1 つの画面にまとめられており、その他のオプションには Modify options(オプションを変更)からアクセスできます。
.mvn/maven.config ファイルでプロジェクトごとの Maven 設定を構成する場合、Preferences(環境設定)/ Settings(設定)| Build, Execution, Deployment(ビルド、実行、デプロイ)| Maven に移動し、画面の下にある Use settings from .mvn/maven.config(.mvn/maven.config の設定を使用する)を選択します。 このファイルの設定によって標準の Maven UI 設定がオーバーライドされることに注意してください。
選択したブランチをチェックアウトして、現在チェックアウトされているブランチでリベースする必要がある場合、Checkout and Rebase onto Current(チェックアウトして現在のブランチでリベース)アクションを使用します。以前は、ローカルブランチのみで使用できる機能でしたが、 IntelliJ IDEA 2021.3 では、リモートブランチでも使用できるようになっています。
Preferences(環境設定)/Settings(設定)| Version Control(バージョン管理)配下にある設定の構造を改善し、一部の重要な構成を見つけやすくしました。 Version Control(バージョン管理)ノードは操作の出発点として機能し、使用可能なすべての設定へのリンクを含んでいます。 そこから Git ノードに移動すると、すべての設定が、Commit(コミット)、Push(プッシュ)、Update(更新)といった最も重要なプロセスを処理するセクションに分割されていることが分かるかと思います。 また、これらのセクション内のパラメーターはより論理的な方法で構成されています。 さらに、Directory mappings(ディレクトリマッピング)に個別のノードを追加し、バックグラウンド操作はデフォルトでオンになるように変更されています。 Background(バックグラウンド)ノードは無くなりました。
IntelliJ IDEA 2021.3 より、差分をエディターの左側にある個別の Changes(変更)ツールウィンドウに表示するようになりました。
確信のあるコミットのみをプッシュし、残りは後でプッシュするように残しておく新しいアクションが追加されています。
Git ツールウィンドウの Log(ログ)タブで選択したコミットまでのコミットをプッシュすることができます。 これを使用するには、最後にプッシュするコミットを選択し、それを右クリックしてコンテキストメニューを呼び出し、新しい Push All up to Here(ここまでのすべてをプッシュ)アクションを選択してください。
Diff(差分)画面の設定に新しい Align Changes Highlighting(変更のハイライト表示を整列)オプションを追加しました。歯車アイコンから使用できます。 これは Diff を読みやすくする機能です。変更のない行を整列して横並びに表示するため、特に複雑な変更がある場合に役立ちます。 追加または除外されたコードをより明確に確認できるようになります。
In v2021.3, we’ve introduced support for the new ConPTY API on Windows. It addresses several issues users were having with the old implementation, which was based on winpty, and adds support for 24-bit colors in the terminal.
IntelliJ IDEA ターミナルが新たに先行入力をサポートし、予測したテキストの変更をライトグレーで即時に表示するようになりました。 この機能により、ローカルマシンでもリモートマシンでも同じ速さでターミナルに入力することができます。
このリリースでは、Evaluate(評価)機能が見つけやすくなりました。 これまでは何かを評価する必要がある場合、多くのユーザーはウォッチの使用に頼っていました。 具体的には、Evaluate(評価)ダイアログを使用する代わりに、ウォッチを作成して削除していました。 そこで、最も便利な式の評価手段をより見つけやすくするため、Evaluate(評価)フィールドを Debug(デバッグ)ツールウィンドウからアクセスできるようにしました。
IntelliJ IDEA の HTTP クライアントでは、gRPC リクエストの基本的なサポートを提供しています。 GRPC キーワードを入力してリクエストを開始すると、HTTP クライアントがコードを補完します。 したがって、IDE はすべての既知の gRPC サービス、特定のサーバーの単項およびサーバーストリーミングメソッドのほか、最も重要なリクエスト本文のフィールドについてプロンプトを表示します。
もう一つの新機能を使用すると、HTTP クライアントで gRPC リクエストを生成できます。 .proto
ファイルでガターアイコンをクリックするだけで実行できます。
HTTP クライアントはレスポンス内の画像を検出し、レスポンスコンソールにそのプレビューを表示することができます。
IntelliJ IDEA でストリーミングアプリケーションをテストする際、HTTP クライアントがオンザフライで出力を表示するようになったため、ストリーミングが終了するのを待つ必要が無くなりました。 これは、text/event-stream、application/stream+JSON、および application/x-ndjson のコンテンツタイプを新たにサポートすることで実現しています。 ストリーミングが終了した場合も通知が表示されます。
HTTP クライアントでは、出力をカスタムファイルまたはディレクトリにリダイレクトできます。 強制リダイレクトとソフトリダイレクトの 2 つの演算子を使用できます。
>>
演算子は必ず新しいファイルを作成します。リクエスト対象のファイル名がすでに存在する場合は、ファイル名に -n の接尾辞を追加します。 >>!
演算子は、ファイルがすでに存在する場合にそのファイルを書き換えます。 リクエスト識別子を @name によるコメントとして、または最初の区切り文字(###)のテキストとして追加できます。 IDE はこれらの識別子を理解するため、Services(サービス)ツールウィンドウからだけでなく、Run Configuration(実行構成)、Run Anything(何でも実行)、Search Everywhere(どこでも検索)ダイアログから、識別子を使ってリクエストを呼び出すことが可能です。
Qute がサポート対象のテンプレート言語に追加されました。 つまり、IntelliJ IDEA で Quarkus プロジェクトのテンプレートを作成する際にコードハイライト、自動補完、およびその他の便利な機能を使用することができます。
IntelliJ IDEA は OpenAPI 仕様が複数のファイルに存在し、$ref
でリンクされていることを検出できます。また、対応する補完を提供します。
We’ve made 2 additions to the JetBrains annotation collection. プロジェクト依存関係に 'org.jetbrains:annotations:23.0.0' を追加すると、クラスとメソッドに @Blocking
または @NonBlocking
のアノテーションを付与できます。 これにより、IDE が Kotlin コルーチンや Project Reactor、RxJava、および SmallRye Mutiny を使用したリアクティブなコードなど、ノンブロッキングコンテキスト内のコードブロッキング呼び出しを検出できるようになります。
さらに、IDE は Micronaut および SmallRye Mutiny の対応するアノテーションを自動的にサポートします。
IntelliJ IDEA では、Spring Data の JpaRepository と CrudRepository、RestTemplate と JdbcTemplate、Spring Feign インターフェースメソッド、JPA EntityManager の呼び出し、および @Transactional
アノテーションが付いたすべてのメソッドとクラスなど、Spring と Java EE のブロッキングコードについて、さらに多くのケースを検出するようになりました。
Spring Boot プロジェクトのRun/Debug Configurations(実行/デバッグ構成)ダイアログを作り直しました。 以前に更新された Java 用の構成と同様の設計です。 新しいインターフェースでは重要な設定が 1 つの画面にまとまっており、他のパラメーターは Modify Options(オプションを変更)から構成できるようになっています。
IntelliJ IDEA で spring.config.import キーが別ファイルの参照用に使用されている場合に、追加の構成ファイル(プロパティまたは .yaml
ファイル)でコード補完機能を使用できるようになりました。 複雑なカスタム Spring Boot 構成ファイルのセットアップも改善されています。
Spring Boot プロジェクトに関し、IDE が @Value
、@Scheduled
、および Environment.getProperty()
から application.yaml への参照のコード補完と使用箇所の検索をサポートするようになりました。
@NamedQuery
のサポート改善 クエリメソッドの補完が Spring Data JPA プロジェクトで @NamedQuery
として宣言されているクエリに機能するようになりました。 また、ガターアイコンから @NamedQuery
の定義に移動することもできます。
バージョン 2021.3 以降は、Kotlin ファイルですべての CDI インスペクションを使用できます。 これらのインスペクションは以前、Java ファイルでのみ機能していました。 また、Kotlin ファイルに CDI ガターアイコンを追加しました。 インジェクションポイントやインジェクション候補、Bean メーカー、ディスポーザーメソッド、およびイベントに簡単に移動することができます。
Java および Kotlin の両方で、UML クラスダイアグラムのすべての処理を高速化しました。 ダイアグラムを開いたり、カテゴリ間を切り替えたり、ズームや元に戻す/やり直す機能にかかる時間が大幅に短縮されています。 その他にも新しいグリッド、メンバーのハイライト、およびクイックドキュメントのプレビューポップアップなどの注目すべき変更があります。
ダイアグラムの外観を制御する必要がある場合は、コンテキストメニューを使って Appearance(外観)を選択してください。
範囲選択したセルを集計する Aggregate(集計)ビューを表示する機能を追加しました。 データ管理に役立ち、余計なクエリを書く手間を省ける待望の機能です! この機能追加により、データエディターに Excel や Google スプレッドシートにより近い性能と使いやすさが備わりました。
ビューで表示するセル範囲を選択し、右クリックして Show Aggregate View(集計ビューの表示)を選択してください。
このリリースは、実際のデータソースに基づいて DDL データソースを生成する機能を導入した過去のリリースを必然的に引き継いでいます。 このリリースでは、このワークフローが完全にサポートされています。 以下の操作を実行できます。
念のために説明しておきますが、DDL データソースはある SQL スクリプトのセットに基づくスキーマを含む仮想データソースです。 これらの SQL スクリプトファイルを VCS に格納すると、バージョン管理システム(VCS)でデータソースを管理することができます。
データ構成プロパティに DDL mappings(DDL マッピング)という新しいタブを追加しました。このタブでは、どの実際のデータソースをどの DDL データソースにマッピングするかを定義できます。
新しい Database Diff(データベース差分)ウィンドウがコンテキストメニューから使用できるようになりました。 このウィンドウにはより優れた UI が備わっており、右側のペインには同期を実行した後に得られる結果が明確に表示されます。
右側のペインには、発生しうる結果を色で示した凡例が表示されます。
結果スクリプトは Script preview タブに表示されます。この結果スクリプトは新しいコンソールで開くことも、このダイアログから実行することもできます。 このスクリプトを実行すると、右にあるデータベース(ターゲット)を左にあるデータベース(ソース)のコピーにする変更が適用されます。
Script preview タブに加えて、下のペインに Object Properties Diff タブと DDL Diff タブがあります。 これらのタブには、元のデータベースとターゲットデータベースに含まれるオブジェクトの特定バージョン間の差分が表示されます。
Oracle データベースのイントロスペクションに 3 つのレベルを導入しました。
イントロスペクションの速度はレベル 1 が最も速く、レベル 3 が最も遅くなります。 イントロスペクションのレベルは、コンテキストメニューを使用して適宜切り替えられます。
イントロスペクションのレベルは、スキーマまたはデータベース全体に設定できます。 スキーマのイントロスペクションレベルはデータベースから継承されますが、個別に設定することも可能です。
イントロスペクションのレベルは、データソースアイコンの横にカプセル剤のようなアイコンで示されます。 カプセル剤が一杯になるほど、レベルが高くなります。 青色のアイコンはイントロスペクションのレベルが直接設定されていることを示し、グレーのアイコンは継承されていることを示します。
大規模な更新を行ない、Selenium での UI テストの自動化を新たにサポートしています。具体的には、ビジュアルエディターが既存のページオブジェクトクラスを維持できるようになっています。 以前は新しいページオブジェクトクラスを生成することしかできませんでしたが、今回のアップデートにより、ビジュアルエディターを使用せずに既存のページオブジェクトクラスを直接更新できるようにもなっています。 IntelliJ IDEA は自動的にページオブジェクトクラスを検出し、ガターパネルの対応するアイコンでそれらを示します。 そのガターパネルをクリックすると、ビジュアルエディターを開いて、ページオブジェクトクラスに追加される新しい要素を取得することができます。
Test Automation Kit に含まれる最新のプラグインでは、いくつかの小さなバグが修正されているほか、複数のデータジェネレーター設定で便利な機能が追加されています。 これにより、複数行の定義で、接頭辞、接尾辞、および区切り文字を変更できるようになっています。
複数階層のテスト実行を新たにサポートしました。 特定の機能ドメインまたはテストの種類に複数の子テスト実行を作成できるようになっています。 各親テスト実行は子テスト実行の結果を集計し、関連するすべての下位テスト実行から収集した概要統計を提供します。
Markdown ファイルで「ローカル TMS」機能を使用してテストケースを管理すると、テストステップを簡単に宣言し、それらを複数のテストケースで共有することができます。 共有ステップは、一意の数値 ID が割り当てられた通常のテストケースとして宣言されます。 別のテストケースでそのテストケースを参照すると、IntelliJ IDEA がプレビュー、テスト実行、または自動テストのコードテンプレートを生成する際に、参照されたテストケースステップを置き換えます。
Helm テンプレートを整形して、正しい結果を確実に得ることができます。 関連するすべての課題が修正されたため、整形の信頼性がはるかに高くなっています。 改善を確認するには、Code(コード)| Reformat code(コードの整形)または Reformat file(ファイルの整形)に移動するか、⌥⌘L (macOS)または Ctrl+Alt+L(Windows、Linux)を押してください。
Helm テンプレート内にある if
、else
、range
、with
、および define
などのブロック要素をハイライトする機能を追加しました。 これにより、Go テンプレートのインクルージョンが含まれるコードでの作業がはるかに簡単になります。
IntelliJ IDEA が .yaml
、.json
、.properties
などの拡張子が付いたキーの ConfigMap リソースでさまざまな言語の自動コードインジェクションをサポートするようになりました。 注入されたコードは緑でハイライトされ、コード補完、エラーのハイライトなどのコードインサイト機能を使用することができます。
Services(サービス)ツールウィンドウから、最後の Helm コマンドを再実行できるようになりました。 右上の新しいアイコンをクリックするだけで再実行されます。 例えば、helm lint コマンドを実行して完了した後にこのアイコンをクリックすると、同じコマンドが繰り返されます。
Minukube から Docker デーモンへの接続が簡単になりました。 Preferences(環境設定)/ Settings(設定)| Build, Execution, Deployment(ビルド、実行、デプロイ) で Minikube ラジオボタンをオンにしてください。 その横にあるフィールドに、検出された Minikube の docker-daemon 環境が自動的に表示され、それを使用して接続することができます。
必要なノードをダブルクリックするか、⌘Enter(macOS)または Ctrl+Enter(Windows、Linux)ショートカットを使用するだけで、Docker により迅速に接続できるようになりました。 このショートカットを使用して、Start container(コンテナーの起動)アクションを呼び出すことも可能です。
The new Clean up action works just like the prune terminal command. Networks(ネットワーク)、Volumes(ボリューム)、Containers(コンテナー)、または Images(イメージ)ノードで右クリックすると、Clean up(クリーンアップ)を選択できます。すると、IDE によって未使用のオブジェクトが削除されます。 また、このアクションを Docker ルートノードに適用すると、ワンクリックですべての不要なオブジェクトを除去できます。
IntelliJ IDEA supports Compose V2, which allows you to run Docker Compose commands as docker compose, instead of docker-compose (with a dash).
このオプションを有効にするには、Preferences(環境設定)/Settings(設定)| Build, Execution, Deployment(ビルド、実行、デプロイ)| Docker | Tools(ツール)に移動して、Use Compose V2(Compose V2 を使用する)チェックボックスをオンにしてください。
Image layers allow you to track all the commands that are applied to images. イメージレイヤーにアクセスするには、イメージを選択して Layers(レイヤー)タブに移動します。 そこから、コマンドを選択して画面の右側にある Analyze image for more information(イメージを解析して詳細を得る)リンクをクリックすると、各レイヤーに適用された変更に関する詳細な情報が表示されます。
後で使用したい事前構成済みのコンテナーがある場合、それをローカルにイメージとして保存してプッシュすると、必要な時にリモートでそれを使用し続けることができます。 Services(サービス)ツールウィンドウに移動し、コンテナーを右クリックして Image(イメージ)| Save as a new Image(新規イメージとして保存)を選択します。
Docker レジストリにいくつかの変更を追加しました。 First off, the IDE now displays all available registries in separate nodes in the Services tool window. 以前は、Docker Hub レジストリのみでサポートされていた機能です。 バージョン 2021.3 では、GitLab(registry.gitlab.com) と JetBrains Space(<ユーザー名>.registry.jetbrains.space) が新たにサポートされています。
Services(サービス)ツールウィンドウのレジストリノードを展開し、必要なイメージを選択して、希望する場所にプルすることができます。 Docker 接続が複数存在する場合、IDE からイメージをプルする宛先を指定するよう求められます。 イメージは任意の追加レジストリにプッシュできます。Push(プッシュ)ダイアログでは、IDE によって所定のレジストリ内で使用可能な名前空間が自動的に検出され、ドロップダウンリストから 1 つを選択することができます。
また、JetBrains Space、GitLab、および Docker Hub レジストリのイメージに対し、イメージ補完を使用できます。
IntelliJ IDEA now supports Podman as an alternative way to manage pods, containers, and images. Before using Podman in the IDE, configure a connection yourself.
OS への Podman のインストールと構成が完了すると、Preferences(環境設定)/Settings(設定)| Build, Execution, Deployment(ビルド、実行、デプロイ)| Docker から、TCP socket(TCP ソケット)ラジオボタンを選択して必須フィールドに入力すると、その Podman に接続できます。
コードレビューを実施する時点でまだ変更を加えていないすべてのファイルは、開かれるまで青いドットが付いたままになります。 そのため、重要な変更を見落とすことはありません。 後でその変更箇所に戻る場合は、コンテキストメニューから Mark as Not Viewed(未表示としてマーク)を選択します。 この機能は、GitHub のプルリクエストでも機能します。