IntelliJ IDEA のウェルカム画面を再設計しました。 Initial ウィザードがプロジェクト管理用の Projects、IDE インターフェースをセットアップするための Customize、プラグインをインストールするための Plugins、ヘルプと学習リソースにアクセスするための Learn IntelliJ IDEA の 4 つのタブを含むクイックアクセス画面に置き換えられました。
ウェルカム画面から Learn IntelliJ IDEA(IntelliJ IDEA を知る)タブを開いてください。 対話型のレッスンと便利なヘルプのリンク集が表示されます。 実環境を使ってさまざまな IDE の機能を段階的に学習するには、[Start Learning](学習開始)をクリックしてください。 実際のコーディングサンプルで新しいスキルを試すには、Learn(学習)ビューの手順に従ってください。
IntelliJ IDEA のテーマを OS のテーマと同期できるようになりました。 この機能を有効にするには、Settings / Preferences | Appearance & Behavior | Appearance に移動して Sync with OS(OS と同期)チェックボックスにチェックを入れてください。 お好みのテーマを選択するには、Sync with OS の隣にある歯車アイコンをクリックします。
読み取り専用ファイルと外部ライブラリファイルが、デフォルトで リーダーモードで開くようになりました。 このモードでは可読性を向上させるため、コメントが書式付きテキストのように表示され、フォントの合字が有効になります。 リーダーモードの設定は Settings / Preferences | Editor | Reader Mode でカスタマイズできます。
IntelliJ IDEA 2020.3 では LightEdit モードの UX が向上しています。 コマンドラインからファイルを LightEdit モードで開くには、開きたいファイルの名前に続けて -e
(--edit
)を入力するか、ファイル名を省略して前回のセッションを再開します。 LightEdit ウィンドウの新しいステータスバーからは、IDE のすべての機能にアクセスできます。 LightEdit モードの更新に関する詳細は、こちらのブログ記事を参照してください。
Alt+Enter を押すと、IDE が文法またはスペルを訂正するための候補を表示するようになりました。 さらに、新バージョンの LanguageTool 文法チェックエンジンを新たに採用しました。これによって英語でのテキストレビューが改善され、新たに 10 言語以上をサポートできるようになりました。
新しい Git タブを Search Everywhere(どこでも検索)ダイアログに追加しました。 これにより、コミットハッシュやメッセージ、タグ、ブランチを Search Everywhere ダイアログで検索できるようになりました。 また、単純な計算式を検索フィールド内で実行することもできます。
ワンクリックでファイルをプレビュータブで開けるようになりました。 ファイルをプレビュータブで開くと、ファイル名が斜体で表示されます。 このファイルの編集を開始すると、プレビューが中断されて通常のファイル編集画面に移行します。 別のファイルをワンクリックしてプレビューモードで開くと、前に開いたファイルに代わってそのファイルが同じタブに表示されます。 この機能を有効にするには、Project ビューの歯車アイコンをクリックし、Enable Preview Tab(プレビュータブを有効化)を選択します。
バージョン 2020.3 では、Linux 用の絵文字ピッカーを追加しました🥳。 絵文字ピッカーを開くには、Ctrl+Alt+; を押してください。 絵文字はカテゴリで絞り込むことができ、スキンの色合いを変更したり、名前で検索したりできます。 絵文字ピッカーはキーボード操作を完全にサポートしています。
バージョン 2020.3 からはアップデートが入手可能な場合に表示されるポップアップから最新の JDK に移行できるようになりました。 アップデートをインストールするか、スキップするかは選択可能です。
Java メソッドをより簡単に抽出できるようにしました。macOS の場合は ⌥⌘M を、Windows や Linux の場合は Ctrl+Alt+M を押して Refactor / Extract / Introduce / Method… を選択するだけで、IDE が即座に抽出を実行するようになりました。
インレイヒントに表示される新しい Rename 環境設定を使用し、コメントと文字列リテラル内、または印刷可能なテキスト内の出現箇所を名前変更するかを選択できるようになりました。 このヒントを呼び出すには、macOS の場合は ⇧F6 を、Windows や Linux の場合は Shift+F6 を押してから Tab を押してください。 Show Options Popup for In-place Refactoring(In-place リファクタリングのオプションポップアップを表示)のショートカットは Settings / Preferences | Keymap で変更できます。
プロジェクトで作業中に複数のタブを開きたい場合にファイルタブをドラッグアンドドロップし、エディターを上下または左右に分割できるようになりました。 また、ファイルを開いたときにエディターを上下に分割する Open in Right Split(右に分割して開く)も導入しました。 このアクションは Project ビューや、Recent Files / Search Everywhere / Navbar のような他のナビゲーションポップアップから呼び出せます。
バージョン 2020.3 では、新しいピンアイコンがピン留めしたタブに表示されます。 そのアイコンをクリックすると、ファイルのピン留めが解除されます。 また、タブを他のピン留めした、あるいはピン留め解除したファイルにドラッグアンドドロップしてピン留めやピン留め解除を行うことができます。 多くのタブを開きがちな方は、すべてのピン留めしたタブを 1 つの行に格納することができます。 そのためには Settings / Preferences | Editor | General | Editor Tabs に移動し、Show pinned tabs in a separate row(ピン留めしたタブを別の行に表示する)チェックボックスにチェックを入れてください。
Markdown ツール のプレビューの UI が改善され、UX が向上しました。 Markdown のフォーマットは Settings / Preferences | Editor | Code Style | Markdown でカスタマイズできます。 macOS の場合は ⌘+Alt+L を、Windows や Linux の場合は Ctrl+Alt+L を押すとフォーマットが適用されます。 エディターの右上にある Auto-Scroll Preview(プレビューを自動スクロールする)ボタンを使用すると、プレビューペインとエディターのスクロールを同期させることができます。 We’ve also added support for Mermaid.js.
IntelliJ IDEA をファイルを開くためのデフォルトアプリケーションに設定できるようになりました。 そのためには、Preferences | Settings / Editor / File Types で Associate file types with IntelliJ IDEA…(ファイルタイプを IntelliJ IDEA に関連付ける…)ボタンをクリックしてください。 ダイアログが開いたら、IDE で開きたいファイルの拡張子を選択してください。 macOS を使用している場合は、変更を適用した後にコンピューターを再起動する必要があります。
Preferences / Settings | Editor | File and Code Templates で、複数のファイルを作成するテンプレートを追加できるようになりました。 まずは + をクリックし、新しいテンプレートを作成します。 そのテンプレートに別のファイルを追加するには、+ の隣にある Create Child Template File(子テンプレートファイルの作成)アイコンをクリックします。 File name(ファイル名)フィールドでは、Description(説明)セクションにリストされた変数を使用してファイル名とパスの生成パターンを入力できます。
アプリケーションをデバッグモードで実行中に変数をクリックすると、値を変更可能な関連フィールドを含むインラインヒントを取得できます。 この新しいインラインヒント内で Create Renderer(レンダラーの作成)をクリックすると、すべてのデバッガー表示でのインライン値の表示を調整できるダイアログが開きます。
特定のコンテキストに関連付けられ、エディター内に直接表示される新しいタイプのウォッチ式をいくつか追加しました。 これらの新しいウォッチ式を作成するには、インラインヒントのポップアップで Add as Inline Watch(インラインウォッチとして追加)をクリックし、コンテキストメニューから Add Inline Watch(インラインウォッチの追加)を選択するか、エディターで変数を右クリックします。 インラインウォッチは Debug ツールウィンドウの Variables タブにある新しい Inline Watches ノードで管理できます。
デバッガーを実行中に基本的なプロファイリングオプションを使用できるようになりました。 新しいプロファイリング機能を Debug ツールウィンドウのコンテキストメニューから呼び出すことができます。 そのうちの 1 つは、オブジェクトから GC ルートまでの最短パスを検出する Show referring objects(参照オブジェクトの表示)です。 もう 1 つは、オブジェクトの保持サイズを計算して保持中のセットを表示する Calculate retained size(保持サイズの計算)です。
Gradle タスクのデバッグセッションごとに 1 つのタブのみを開くようにしました。 このようなタブには Frames と Variables のほか、コンソールの出力があります。 デバッガーのコントロールが正常に動作するようになりました。 これまで使用していたデバッグロジックに戻したい場合は、Edit configurations…(実行構成の編集…)画面の Reuse Gradle debug session for forked processes(フォークしたプロセスに Gradle のデバッグセッションを再利用する)チェックボックスを外してください。
再設計された Profiler ツールウィンドウでは、プロファイラーを実行中のアプリケーションに接続できます。 実行されているすべての Java プロセスのリストで Enter を押して Attach Profiler to Process(プロファイラーをプロセスに接続)を呼び出し、使用したい統合ツールを選択します。 Recent Snapshot(最近のスナップショット)領域では、過去に作成したスナップショットにすばやくアクセスできます。
フレームグラフ検索の使い勝手が向上し、視認性の良い検索フィールド、上下矢印を使用した高速なナビゲーション、フレームグラフ全体または特定のサブツリー内を検索できるフィルターが実装されました。
もう .jfr
および .hprof
ファイルを開くのに苦労する必要はありません。 このタイプのファイルをすばやく開くには、ファイルをエディターにドラッグアンドドロップし、File | Open で開くか、Project ビューでダブルクリックしてください。
ローカルの Maven および Tomcat の実行構成を他の実行構成と同じ方法でプロファイリングできるようになりました。 プロファイリング対象の項目を右クリックし、必要なプロファイリングオプション(CPU、Allocation、Java Flight Recorder)を選択するだけです。
IDE から直接変更をステージできるようになりました。 この機能を有効にするには、Settings / Preferences | Version Control | Git に移動して Enable staging area(ステージングエリアを有効化)チェックボックスにチェックを入れてください。 ファイルを Commit ビューの新しい Staged ノードに追加するには、+ アイコンをクリックします。 また、ガターや Diff ペインでも変更をステージできます。 詳細については、ブログ記事を参照してください。
VCS メニューの名前が現在使用中のバージョン管理システムに応じて付けられるようになりました。 プロジェクトのバージョン管理に最も有益なものを除くすべてのアクションを除去し、メニューをより簡潔に表示するようにしました。 プロジェクトで Git のみを使用している場合、VCS メニューは上の画像のように表示されます。
新しいブランチを作成する際、IDE はブランチ名に使用できない文字を自動的に訂正します。 現在のブランチ用のコンテキストメニューを改修し、関連するアクションを表示するようにしました。 リモートブランチに関しては、Merge into Current(現在のブランチにマージ)および Rebase Current onto Selected(現在のブランチを選択したブランチにリベース)の各アクションの名前を Pull into Current Using Merge(マージを使用して現在のブランチにプル)とPull into Current Using Rebase(リベースを使用して現在のブランチにプル)にそれぞれ変更しました。
Run/Debug Configurations(実行/デバッグ構成)を大幅に整理し、最も使用頻度の高い設定を一つの画面に配置しました。 必須フィールドにはフィールド内ラベルを表示し、コマンドラインと同じ順序に並び替えました。 その他のパラメーターを調整する場合は、Modify(変更)オプションをクリックしてください。
IntelliJ IDEA 2020.3 では、実行構成テンプレートを XML ファイルとして保存し、それを Git や他のバージョン管理システムを使用してチームメイトと共有できます。 この機能を有効にするには、Edit Configurations…(実行構成の編集…)に移動して Templates ノードを開き、構成テンプレートを選択してから Store as project file(プロジェクトファイルとして保存)チェックボックスを選択し、この構成テンプレートを保存するパスを定義してください。
IntelliJ IDEA 2020.3 は共同開発およびペアプログラミング用の新しいサービスである Code With Me(EAP)をサポートしています。 Code With Me を使用すると IDE で現在開いているプロジェクトを他のユーザーと共有し、リアルタイムで共同作業を行うことができます。 Code With Me はプラグインマーケットプレース(Preferences / Settings | Plugins | Marketplace)から入手できます。 Code With Me の詳細については、これらの記事を参照してください。
レコードをクラスに変換できる新しいインテンションアクションを追加しました。 このアクションは、コードベースのダウングレードが必要な場合に役に立ちます。 レコードを使用するタイミングと方法については、こちらのブログ記事を参照してください。
In this release, we’ve added completion, code insight, and refactorings for sealed classes. sealed 修飾子を使用すると、他のクラスによる拡張を許可し、拡張を阻止するクラスを定義できるシールクラスとしてクラスを定義します。 サブクラスは final / non-sealed / sealed のいずれかにすることができます。 シールクラスの使用例については、こちらのブログ記事を参照してください。
新しい機械学習技術では候補の並び順が改善され、最も関連性の高いものが最初に表示されるようになりました。この結果、コード補完候補の表示がさらに進化し、文脈への適合度が向上しました。 候補の並び順を変更するこの新しいランク付けシステムの動作を確認するには、Settings / Preferences | Editor | General | Code Completion に移動して Mark position changes in the completion popup(補完ポップアップで位置の変更をマーク)チェックボックスにチェックを入れてください。
IntelliJ IDEA はシバンの仕組みを使用しているファイルを自動認識し、適切に開いてコードインサイトを使用できるようにします。 シバン(#!
)を含むファイルのハイライトも機能します。
IntelliJ IDEA 2020.3 では、コードの改善に役立つ新しいインスペクションを導入しています。 最も重要なインスペクションの一つには、コメントアウトされた行を削除またはコメント解除できる Commented out code(コメントアウトされたコード)があります。 IntelliJ IDEA 2020.3 の他の新しいインスペクションについては、こちらのブログ記事を参照してください。
クラスをゼロから作製する際、トップレベルの Public 宣言の後にクラス、インターフェース、列挙型、レコードが補完されるようになりました。 String.toUpperCase
または String.toLowerCase
メソッドを使用した場合、Locale.ROOT の使用が促されるようになりました。 String.getBytes()
を呼び出そうとした場合、IDE は UTF_8 文字セットの使用を提案します。
言語間の変換が可能になり、Java から Kotlin の要素をインライン化できるようになりました。 also、let、run、apply、with の各スコープ関数のインライン化リファクタリングも実行できます。 ラムダ式のインライン化処理を改善し、式の構文を入念に解析して適切に整形できるようにしました。
Kotlin に対して構造的検索と置換(SSR)アクションを使用できるようにしました。 ソースコードの構文とセマンティクスを考慮しながらコードパターンを検索および置換できます。 変数のフィルターを使用すると、検索結果を絞り込むことができます。
Kotlin IDE プラグインのリリースサイクルを、IntelliJ IDEA のリリースサイクルに合わせるようにしました。 また、プラットフォームの変更点をピックアップするのに要する時間を最小化するため、Kotlin IDE プラグインを IntelliJ IDEA のコードベースと統合した新しいリポジトリに移動しました。
このリリースでは、HTTP プロトコルおよび WebSocket プロトコル用のクライアント API とサーバー API の両方を表示する Endpoints(エンドポイント)ツールウィンドウを大幅に改修しています。 改修後のツールウィンドウはエンドポイントをモジュール別にグループ化する便利な表示機能と、リストをよりコンパクトに表示するオプションを備えています。 フィルター、複数の検索パラメーター、補完機能を備えた総合的な検索機能を使用できます。 各エンドポイントのドキュメントを新しいタブで読むことができます。 エンドポイントに関連する URL がある場合、その Open API 表記を確認して特別な HTTP クライアントにアクセスできます。
HTTP リクエストエディターで Alt+Enter を押し、Convert to cURL and copy to clipboard(cURL に変換し、クリップボードにコピー)オプションを選択すると HTTP リクエストを cURL にエクスポートできるようになりました。
URL 補完がより有益になり、フレームワークのアイコン、HTTP メソッド、エンドポイントを宣言したクラスやファイルのソース位置が表示されるようになりました。 使用されていない URL は取り消し線付きで表示されます。
いくつかの重要な URL 用アクションにすばやくアクセスできるようにしました。 これらのアクションにアクセスするには、URL の隣にある地球アイコンをクリックします。 これらのアクションは現在、Spring MVC / WebFlux / Feign Client / JAX-RS / Micronaut / Retrofit の各フレームワークに対応しています。
Spring MVC Functional Routing / RestOperations / Spring WebTestClient / Spring Reactive WebClient 向けにコードインサイトのサポートを開始しました。 これらを使用して宣言されたエンドポイントも表示します。 また、Kotlin Spring Security に対応したコード補完とナビゲーションを追加しました。
現在も古い HTTP クライアントのフォーマットで HTTP リクエストを使用している場合、開いているリクエストの上で Convert request to the new format(リクエストを新しい形式に変換する)をクリックすると簡単に変換できます。 Project ビューのコンテキストメニューや HTTP リクエストエディターからも実行できます。
$ref
キーワードを使用した外部定義の参照など、さまざまなケースでのコードインサイトを大幅に改善しました。 もう一つの重要な更新には、Swagger Hub から public および private 仕様の両方を取得し、それらを Endpoints ツールウィンドウで開けるようにするために Swagger Hub のサポートを開始したことが挙げられます。 さらには、Swagger UI を Darcula テーマと同期するという魅力的な機能も実装されています。
新しい Quarkus プロジェクトや Micronaut プロジェクトを作成する際に実行構成が自動作成されるため、アプリケーションをすぐに実行およびデバッグできます。 Edit Configurations(実行構成の編集)で Quarkus の設定を変更する場合、Environment セクションは Gradle または Maven のどちらを使用してプロジェクトをビルドするかに応じて関連する設定のみを採用します。
IntelliJ IDEA 2020.3 では、リポジトリインターフェースを作成する際に使用する定義済みメソッドの補完機能を導入しています。 また、独自のクエリを作成する際に役立つ Micronaut の @Query
アノテーションのサポートを開始しました。 このアノテーションを使用すると、コードフラグメントに JPQL 言語を使用できます。
Scala コンパイルサーバーが独立したモジュールを並列にコンパイルするようになりました。 デフォルトで最大 4 コンパイルスレッドをサポートできるようにデフォルトの VM オプションを調整し、コンパイル速度を大幅に向上させました。 マシンの搭載 CPU コア数と RAM 容量が大きい場合は、デフォルト値を自由に微調整してコンパイル時間をさらに改善することができます。
並列コンパイルの効率を上げるため、プロジェクトモジュールの構造とコンパイルサーバーの VM オプションを最適化することができます。 最適化を支援するため、Compilation Charts(コンパイルチャート)を追加しました。 これにより、一目で最適化可能な状況を判断できるようになりました。 例えば、チャートはボトルネックになっているモジュール、スレッド数を増やせる可能性、最大ヒープサイズの微調整が必要な状況を判断するのに役立ちます。 コンパイル処理を高速化し、動的なチャートに注目することで、"コンパイル中" の表示を消し去ることができます。
Scala プラグインで IntelliJ IDEA のパッケージ接頭辞を Scala の連鎖パッケージ句および相対インポートと組み合わせられるようになりました。 これらの機能はいずれも非常に分かりにくいものですが、これらを組み合わせても複雑さが増すことはなく、直感的で内部的に一貫性のあるシステムを実現できます(詳細情報)。 もう空ディレクトリの連鎖に耐えたり、同じパッケージ接頭辞を何度も繰り返したりする必要はありません。 ディレクトリとパッケージの両方をすっきりとさせることができます。
Scala プラグインはすでに JUnit、ScalaTest、uTest、Specs2 をサポートしています。 今回はこのリストに新しいエントリを追加しました。 MUnit がサポートされるようになり、あらゆる一般的なメリットを得られるようになりました。
IntelliJ Scala プラグインはすでに以前から今後リリース予定の Scala 3 をサポートしており、私たちはすべての新しいアップデートに追従できるように努力しています。 Particularly, the Scala plugin now understands the new syntax for main methods. Hello Worlds のエンジニアリングがかつてないほど簡単になりました!
TypeScript 言語サービスを Problems ツールウィンドウに統合し、TypeScript ツールウィンドウを廃止しました。 この変更は、コード内の問題箇所を一箇所でレビューしやすくするために行われました。 また、これまで TypeScript ツールウィンドウにあったアクションをステータスバーの専用ウィジェットに移動しました。
コード内に未解決の React コンポーネントがありますか? そのコンポーネントの位置にキャレットを置き、Alt+Enter を押してから Create class/function component(クラス/関数コンポーネントの作成)をリストから選択すると、IDE が適切なコード構成を作成します。
IntelliJ IDEA 2020.3で使用可能な JavaScript に関するその他の改善点については、WebStorm の新機能をご覧ください。
Services ツールウィンドウの左ペインにある Download Log ボタンをクリックするだけで、ログをローカルマシンにダウンロードできるようになりました。 デフォルトでは pod は Scratches と Consoles | Kubernetes Files | <context> | <namespace> | pods に保存されますが、この設定は Settings / Preferences | Build, Execution, Deployment | Kubernetes の Pod Logs セクションで変更できます。
Services ツールウィンドウの左ペインに、コンソールを含むコンテナーを接続するための Open Console(コンソールを開く)および pod コンテナー用のシェルを起動するための Run Shell(シェルの実行)という 2 つの新しいアクションが追加されました。 ツールアイコンをクリックすると、設定の Pod Shell(Pod シェル)セクションにすばやくアクセスできます。
アクティブなクラスターの CRD スキーマを自動ロードできるようになりました。 そのためには、Preferences / Settings | Languages & Frameworks | Kubernetes に移動し、Use API schema from an active cluster(アクティブなクラスターの API スキーマを使用)チェックボックスにチェックを入れてください。
IDE が Couchbase Query サービスをサポートするようになりました。 また、新たに 2 つのエクストラクターを導入しました。1 つのカラムをコンマ区切りの文字列にコピーできるようにする One-Row と、複数の新しい行を挿入する単一の INSERT ステートメントを生成する SQL-Insert-Multirow です。
その他にも次のような日常業務に役立つ更新が行われています。