IntelliJ IDEA 2019.3では起動の高速化、テーマやキーマッププラグインのインストールの簡略化、VCSワークフローの強化、マイクロサービスフレームワーク、MongoDBへのサポート追加などの大幅なパフォーマンス改善やユーザビリティの改善が行われています。
このリリースでの重要なパフォーマンス改善の一つには、起動時間が従来よりも短くなったことが挙げられます。 アーキテクチャを大幅に変更してIDEが起動時に実行するタスクの一部を並列化し、それらのタスクが順次実行されないようにしました。
IntelliJ IDEA 2019.3ではパフォーマンスを最適化し、大規模なGradleプロジェクトをインポートする際のピークメモリ消費量を削減しました。
皆様からご報告いただいた1600件超のフリーズ問題を解決しました。 この問題とは別に、MavenプロジェクトでPOM.xmlファイルを編集する際の問題を解決しました。これにより、補完候補が遅延なく表示されるようになりました。 その他の修正により、大規模プロジェクトにおけるVCSのステータス更新処理の高速化、ignoreファイルの処理の改善、プロジェクトツリーの描画の高速化、多数のエディタやデバッガータブを使用して作業する際のパフォーマンスの向上、およびその他の高速化が実現しました。
このリリースではJavaの型推論に多くの改善が加えられ、さまざまなエディタのフリーズが解消されたほか、長いメソッド呼び出しチェーンに対するJava型推論が高速化されています。 ‘Join Lines’(行の結合)アクションを複数行に適用する際の速度が向上しました。 また、多数の引数が格納される汎用的な可変長引数を使用したメソッドを中心に、Javaコードのハイライト表示が高速化されます。
IntelliJ IDEA 2019.3にはKotlin 1.3.60がバンドルされており、エディタでのハイライト表示の高速化などの目覚ましい高速化が行われています。
このリリースでの重要なパフォーマンス改善の一つには、起動時間が従来よりも短くなったことが挙げられます。 アーキテクチャを大幅に変更してIDEが起動時に実行するタスクの一部を並列化し、それらのタスクが順次実行されないようにしました。
IntelliJ IDEA 2019.3ではパフォーマンスを最適化し、大規模なGradleプロジェクトをインポートする際のピークメモリ消費量を削減しました。
sbtプロジェクトまたはMavenプロジェクトをインポート、作成、または開く際、IntelliJ IDEAが当該プロジェクトを自動セットアップするようになりました。そのため、今後は手動でこれらのプロジェクトの設定を調整する必要はありません。
アクションを選択してダイアログを閉じた後でも、インテンションアクションのダイアログでデフォルトで使用可能なすべてのインテンションアクションがIDEに表示されるようになりました。
Java 13のテキストブロックに対するサポートを拡張し、引用符を3つ挿入した際に自動的にテキストブロックを整形するようにしました。
IntelliJ IDEA 2019.3では、コードに挿入できるテンプレート言語が増えました。具体的には、Pug(旧Jade)、Handlebars、EJS、Slimを挿入できるようになりました。
Ctrl+Alt+Hで新しい ‘Field Call Hierarchy’(フィールドの呼び出し階層)アクションを呼び出し、選択したフィールドの階層を簡単に表示できるようになりました。
インスペクションによりハイライト表示されたシンボルの上にマウスを移動した際、コード参照情報に加えてエラーもポップアップに表示できるようになりました。 この機能を有効化するには、 Settings/Preferences | Editor | Generalで「Show quick documentation on mouse move」(マウス移動時にクイックドキュメントを表示)を選択してください。
混乱を避けるため、リモートブランチに対して、新しく名前が変更された「Checkout」アクションを呼び出すと、新しいローカルブランチが作成され、それがチェックアウトされ、アップストリームを追跡するように設定が行われるようになりました。 一方、ローカルブランチとリモートブランチ用に ‘New Branch from Selected’ アクションも追加しました。このアクションは、新しいローカルブランチを作成し、それをチェックアウトしますが、リモートブランチを追跡する設定は行いません。
また、pushのためにブランチをチェックアウトする必要がなくなりました。Git branchesポップアップでブランチを選択し、そこからブランチをプッシュするだけで済むので、時間を節約することができるようになりました。
さまざまなVCSホスティングサービスからプロジェクトを取得するUIを統一するため、「Clone」ダイアログを改修しました。 すでにVCSにログインしている場合は選択可能なリポジトリのリストが表示されますので、リポジトリのURLを入力する必要はありません。
merge、rebase、またはcherry-pick操作を実行中に競合が発生した場合に、Mergeダイアログに変更対象のソースに関するより詳細な情報が表示されるようになりました。 「Show Details」リンクをクリックするだけで、最終的なコードの状態を引き起こしたコミットのリストを取得できます。
IntelliJ IDEAプロジェクトで最新技術を有効活用できるよう、バージョン2019.3ではMicronaut、Quarkus、Helidonに対する第一弾のサポートが追加されました。 Javaプロジェクトにマイクロサービスベースのアーキテクチャを採用している場合、完全なコーディング支援、ナビゲーション、インスペクション、使用箇所の検索、その他の機能を利用できます。
スキーマによる検証を提供するSwagger v2やOpenAPI v2を新たにサポートし、APIの説明を含むYAML/JSONファイルでのコード補完、ナビゲーション、使用箇所の検索、Renameリファクタリングを導入しました。
最新の Endpoints ツールウィンドウは、プロジェクト内でHTTPプロトコルとWebSocketプロトコルに使用されるクライアントAPIとサーバーAPIの両方の集約ビューを提供します。 さらに、このビューはIntelliJ IDEAで現在開いているすべてのプロジェクトに拡張できます。
SpringツールウィンドウのMVCビューでWeb Flux URLマッピングの完全なリストを表示し、その間を移動し、URLやURLセグメント用のコーディング支援、検索、Renameリファクタリングを利用できます。
IntelliJ IDEA 2019.3は、java.net.{URI/URL}、Retrofit v2、OkHttp v3、Injectable URLの参照のようなJava HTTPクライアントAPIでURLをサポートします。 コーディング支援、ナビゲーション、使用箇所の検索など、Javaで利用していた全ての機能をHTTPクライアントでも利用できるようになりました。
JavaおよびKotlin Reactorプロジェクトのインスペクションをご活用ください。これらのインスペクションは、スレッドがブロックされるべきではないコード箇所で検出された、スレッドをブロックするメソッド呼び出しを報告します。 FluxやMonoのメソッドのラムダ演算子からnull値が返される可能性がある場合にも警告します。 さらに、リアクティブなスタックフレームと中間変数値の有益なビューを提供する専用のReactorデバッグモードも追加されました。
IntelliJ IDEA 2019.3では、待望のMongoDBへのサポートを追加しました。 MongoDBのデータソースを追加した後、データベースエクスプローラー内でコレクションやフィールドを表示し、クエリを実行してクエリの結果を確認できるようになりました。 今後のリリースでもMongoDBのサポートを拡充していくつもりです。
合計3904票もの影響を及ぼした1679件の問題を修正しました!