IntelliJ IDEA の新機能

IntelliJ IDEA 2020.2の新機能

IntelliJ IDEA 2020.2では、IDEの内部からGitHubのプルリクエストをレビューしてマージしたり、インスペクションウィジェットを使ってファイル内の警告とエラーを素早くナビゲートしたり、課題ツールウィンドウを使って現在のファイル内の課題の全リストを表示したり、変更した内容が他のファイルに影響を与える場合に通知を受けたりすることができます。Jakarta EEを使用して、Quarkus、Micronaut、OpenAPIのサポートを強化することができます。

Java

Java 15 support

Java 15のサポート

Java 15のリリースは9月に行われますが、IntelliJ IDEA 2020.2はすでにそれに対応しています。レコード機能のサポートが更新され、2番目のプレビューになりました。シールドクラスの基本的なサポートも追加しました。そしてもちろん、IntelliJ IDEAはテキストブロックを完全にサポートします。

Jakarta EE Wizard

関連する問題のインレイのヒント

外部で使用されているクラス、メソッド、またはフィールドのシグネチャーを変更してエラーが発生した場合、IDEからインレイヒントが通知されます。関連する問題のインレイヒントをクリックすると、IDEが検索ツールウィンドウを開き、外部ファイルで発生するすべての関連する問題のリストが表示されます。

Scala 3 support

複数の構造検索を作成し、インスペクションを置き換える機能

IDEでは、構造検索と置換を使用して、特定のパターンに一致するコードのブロックを検索し、必要に応じて置き換えることができます。IntelliJ IDEA 2020.2を使用すると、複数の構造検索テンプレートをインスペクションとして作成できます。SSR インスペクションごとに、重大度レベルを指定し、説明を追加して、個別に有効または無効にすることができます。

Scala 3 support

ランタイム例外の原因の特定

例外スタックトレース分析をデータフロー分析で補足しました。スタックトレースをクリックすると、IDEはコード内の例外が表示されている正確な場所に移動し、その原因を見つけるのに役立つ提案を提供します。

Scala 3 support

Stream APIメソッドの自動補完の改善

IntelliJ IDEA 2020.2は、Stream APIでさらにうまく機能します。 'stream()' を入力してからストリームに適切な操作を入力する代わりに、コレクション自体にストリームメソッド名の入力を開始できます。IntelliJ IDEAは 'stream()' を自動的に挿入します。これは、すべてのストリーム操作で機能します。

Scala 3 support

変数を導入するためのスコープ

IntelliJ IDEA 2020.2を使用すると、変数を導入するリファクタリングは、中間スコープ内の変数の出現を選択的に置き換えることができます。1つまたはすべての出現箇所を選択することに限定されるのではなく、置換のさまざまなオプションを選択できるようになりました。エディターは、各選択肢の上にカーソルを合わせると、どの出現箇所が新しい変数に置き換えられるかを強調表示します。

Java Live Templates Clean-up

Javaライブテンプレートのクリーンアップ

新しいJavaノードには、プレーン、サラウンド、その他、出力、および反復のすべてのグループが含まれるため、Java関連のテンプレートを検索する必要がなくなりました。ニーズに合ったライブテンプレートを検索しても迷うことはありません。別のGroovyノードも利用できます。

エディター

Problems View

問題ツールウィンドウ

現在のファイルに関連する警告とエラー、および課題の説明を表示する課題ツールウィンドウが追加されました。このツールウィンドウから、課題を右クリックして、課題が発生したコード行に移動できます。Alt+ Enterを使用すると、課題を1つずつ修正できます。

Editor Inspections Widget

インスペクションウィジェット

インスペクションウィジェットは、警告、エラー、その他の課題の検索を簡素化し、F2キーを押すか、矢印アイコンをクリックすることで、それらの間を簡単に移動できるようにします。インスペクションウィジェットから、強調表示する課題を選択できます:なし、エラーのみ、またはすべての課題。

Intentions preview

インテンションプレビュー

インテンションアクションを適用した場合の考えられる結果を試すために、実際にコードに適用する前に結果をプレビューできます。Alt + Enterを押してコンテキスト・アクションの表示を呼び出し、必要なインテンションアクションを選択してから、macOSではAlt + Space、WindowsおよびLinuxではCtrl + Shift + Iを押して結果プレビューを表示します。

改善されたスペルチェッカー

ビルトインスペルチェッカーが改善されました。動作がはるかに速くなり、無関係な候補が除外され、コンテキストに基づいて有効な候補がランク付けされます。さらに、IDEはファイル内の最初の2つの段落から言語を検出し、対応する言語モデルを有効にすることを提案します。

バージョン管理

GitHubプルリクエストの完全サポート

オープンプルリクエストの詳細は、別の垂直ツールウィンドウでワンクリックで離れます。メインエディターウィンドウに会話が表示され、コメントを直接追加できます。コミット前のチェック結果がウィンドウの下部に表示されます。プルリクエストを管理する権限がある場合、IDEから直接、参照、割り当て、管理、マージし、コメントを表示して送信し、変更を受け入れることができます。

詳細については、ブログ(英語)を参照してください。

改善されたGitアクションダイアログ

このリリースでは、マージ、プル、リベースのダイアログの視覚的な一貫性が変更されました。また、ダイアログが改善され、実行されるGitコマンドを明確に識別できるようになり、不足しているオプションもいくつか含まれています。また、--rebase--no-verify をそれぞれプルダイアログとマージダイアログに追加しました。

Improved result display of the Compare branches action

ブランチの比較アクションの結果表示の改善

IntelliJ IDEA 2020.2内の2つのブランチを比較すると、IDEは、エディターでログを開いて、1つのビューにコミットを表示します。VCSツールウィンドウとは対照的に、このビューには、各ブランチのコミットと影響を受けるファイルに関する完全なレポートを作成するための十分なスペースがあります。

Squash local commits from the log

ログからローカルコミットをスカッシュして削除する

ローカルブランチから複数のコミットを選択し、押しつぶすことができるようになりました。Gitツールウィンドウでログタブを開き、ローカルコミットを選択して、コミットのスカッシュを選択します。コミットメッセージを変更する場合、それらのコミットのすべての変更は、更新されたメッセージとともに1つのコミットにまとめられます。さらに、Gitログからコミットを削除できるようになりました。

WSL2にインストールされたGitのサポート

IntelliJ IDEA 2020.2を使用すると、LinuxまたはWindowsファイルシステムのプロジェクトで作業するときに、WSL2にインストールされたGitを使用できます。WSLからプロジェクトを開くと、IDEは自動的にWSLのGitに切り替え、関連するすべての機能を使用できるようにします。

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

Jakarta EE 9のサポートUltimate

9月のJakarta EE 9リリースの準備が整い、CDI、JPA、バッチ、Bean検証、JSF、JAX-RS、WebSocket、サーブレット、JSP、JSON-など、Jakarta EEで利用可能なすべての機能をすでにサポートしています。P、JSON-B、セキュリティ、EJBおよびJTA仕様。

Jakarta EE Wizard

Java エンタープライズプロジェクトウィザードUltimate

Java EE 8またはJakarta EE 9プロジェクトを作成する必要がある場合は、新規プロジェクトウィザードを使用して作成できます。新しいジャカルタEEプロジェクトがすぐ近くにあります。Javaのバージョン、ビルドツール、拡張機能、その他のオプションを選択して設定します。

Quarkus構成ファイルのサポート:.propertiesおよびYAMLUltimate

Quarkus構成ファイルでの作業を容易にするために、IDEはコード補完と強調表示を提供し、.propertiesとYAML構成ファイルの両方で未使用のコードを灰色に着色します。さらに、構成ファイルから構成済みBeanに直接ジャンプして戻ることができます。

Quarkus CDIサポートの改善Ultimate

IDEの現在のバージョンでは、Quarkusの簡略化された構文で完全に機能する、インジェクションされたBeanおよび更新されたインスペクションのガターナビゲーションを使用できます。さらに、IntelliJ IDEA 2020.2は、@DefaultBean、@AlternativePriority注釈、および修飾子のみによるインジェクションをサポートします(@Injectを使用する必要はありません)。

wagger UI support

Swagger UIサポートUltimate

新しく追加されたSwagger UI統合により、IntelliJ IDEAエディターの組み込みパネルでOpenAPIをプレビューできるようになりました。これは、テストを簡略化するための優れたアップデートです。

Jakarta EE Wizard

Swagger DiffUltimate

IDEが改善され、OpenAPI仕様間の構造的差異を計算できるようになりました。Swagger / OpenAPIの詳細を知っているIntelliJ IDEA 2020.2は、JSONまたはYAMLファイルをその構造に基づいて比較し、検出された差分をプレビューできます。これを行うには、コンテキストメニューからOpen API仕様の比較を選択するか、すべての場所を検索ダイアログからこのアクションを呼び出します。

Jakarta EE Wizard

Micronautのプロジェクト生成Ultimate

新しいプロジェクトウィザードとMicronautフレームワークのもう1つの便利な更新を次に示します。ウィザードから直接新しいMicronautプロジェクトを作成できるようになりました。プロジェクトをステップバイステップで構成し、すぐにそれを使って作業を開始します。

MicronautおよびAmazon SQS APIのメッセージ・キューサポートUltimate

MicronautアプリケーションがRabbitMQまたはKafka経由の非同期通信を使用している場合、このアップデートはあなたのためです。ガターアイコンを使用してメッセージキューとトピックに移動し、使用方法を見つけ、名前の補完を行います。Amazon SQS APIと同じ一連の機能を利用できます。

JAX-RS and MicroProfile REST Client HTTP Requests Generation

JAX-RSおよびMicroProfile RESTクライアントHTTPリクエストの生成Ultimate

HTTPリクエストの作成とテストを簡単にするために、IntelliJ IDEAはJAX-RSおよびMicroProfile HTTPリクエストを自動的に生成し、組み込みのRESTクライアントで開きます。プロジェクトでエンタープライズフレームワークの1つ(Spring、JAX-RS、Retrofit、OkHttp、またはMicronaut)を使用している場合は、インテンションアクションを使用して任意のURLでHTTPリクエストを生成することもできます。

URL code completion for REST Assured tests

RESTアシュアードテストのURL コード補完Ultimate

URLパス参照と関連リソースへのナビゲーションのために、コード補完を使用してREST Assuredテストを更新しました。

SeleniumプラグインはSelenoidとの統合を追加するUltimate

Seleniumプラグイン(英語)はSelenoidと統合され、browsers.jsonファイルから直接新しいテスト環境を実行する簡単な方法を提供します。Selenoidコンテナーが起動すると、必要なすべてのブラウザーイメージが自動的にプルされます。

プロファイラー

HPROF memory viewer

HPROFメモリビューアーUltimate

改善されたビューアーのメカニズムにより、ヒープを分析し、大量のメモリを使用するコードの部分を指摘し、メモリリークの原因を検出することができます。HPROFメモリビューアーには、オブジェクトの計算された保持サイズ、ガベージコレクターのルートへの最短パス、オブジェクトの保持ツリー(保持オブジェクト)、および受信参照が表示されます。

ユーザー体験

事前に作成された共有インデックスによる高速なインデックス作成

ローカルで作成する代わりに、別のマシンで生成されたインデックスをダウンロードすることで、インデックス作成を高速化できます。JDKのビルド済み共有インデックスを使用するか、カスタム共有インデックスを生成してターゲットIDEビルドに配布します。共有インデックス(英語)プラグインをインストールするだけです。さらに学習したい方(英語)に。

Highlighting and completion during indexing

インデックス作成中の新しい可能性

IntelliJ IDEA 2020.2がプロジェクトのインデックスを作成している間、コードの記述を続けることができます。IDEは、インデックス作成中にJavaおよびPHPのコード補完提案を提供するようになりました。

ターミナル

Possibility to run IDE features from the Terminal

ターミナルからIDE機能を実行するオプション

ターミナルから直接IDE機能を呼び出すことができるようになりました。IntelliJ IDEA 2020.2では、Ctrl + Enter / Cmd + Enterショートカットを使用して、対応するGUIで強調表示されたコマンドを実行できます。強調表示されたコマンドをデバッグモードで実行する場合は、Ctrl + Shift + Enter / Cmd + Shift + Enterを使用します。

この機能について詳しくは、ブログ投稿(英語)を参照してください。

ビルド・ツール

Mavenラッパーのサポート

IntelliJ IDEA 2020.2は、必要なバージョンのMavenをプロジェクトに自動的にインストールするMavenラッパーをサポートするようになりました。Mavenラッパーが存在し、構成されている場合、IDEはそれを自動的に使用し、必要に応じて変更をインポートします。

プロジェクトごとのMavenバージョン管理

すべての開いているプロジェクトに同じバージョンのMavenを使用していた以前のアプローチを使用する代わりに、プロジェクトごとにMavenバージョンを設定できるようになりました。

ビルドツールの出力プレゼンテーション

より一貫したユーザーエクスペリエンスを提供するために、IntelliJ IDEAのネイティブビルダーのビルド出力を、メッセージツールウィンドウではなく、ビルドツールウィンドウに表示しています。

build.gradleファイルでのコードインサイトの向上

IntelliJ IDEA 2020.2は、プロジェクト名の補完と、build.gradleファイル内のプロジェクト名のナビゲーションを提供します。

JavaScriptとTypeScript

New smart intentions and inspections

生産性向上のための新しいインテンションアクションUltimate

数値インデックスを持つforループをforEach配列メソッドにすばやく変換できるようになりました。JavaScriptとTypeScriptファイルでドキュメントのコメントを読むのも簡単になりました。エディターで直接レンダリングして、注意散漫を最小限に抑えることができます。

Vuex and Composition API support

デフォルトのフォーマッターとしてのPrettierUltimate

このリリースから、コードを整理するためのデフォルトのフォーマッターとしてPrettierを設定することがより簡単になりました。設定でコードの再フォーマットについてチェックボックスを有効にするだけで、.js.ts.jsx、および.tsxファイルを再フォーマットするたびにIDEがPrettierを使用します。必要に応じて、他の種類のファイルも追加できます。

Java Live Templates Clean-up

Nuxt.jsのサポートUltimate

Nuxt.jsのサポートとVue固有のコードスタイル設定を追加しました。Vue.jsフレームワークを使用している場合は朗報です。

データベース

Separate editor for cell values

セル値の個別のエディターUltimate

このリリースでは、セルに長い値がある場合に役立つツールがいくつか導入されています。このリリース以降、長い値を別のパネルで表示および編集できるようになりました。エディターパネルにはソフトラップモードがあり、右側のツールバーで切り替えることができます。

New UI for boolean values

ブール値の新しいUIUltimate

チェックボックスではなく生の値として表示されるブール値を観察および編集するのが簡単になりました。f、t、d、n、g、cのいずれかを入力して、対応するfalse、true、default、null、生成、計算の値を入力できます。他に何か入力すると、可能な値を含むドロップダウンリストが表示されます。

DML preview in the data editor

データエディターでのDMLプレビューUltimate

これで、データエディターで変更したクエリをプレビューできます。これを行うには、保留中の変更がある場合にアクティブになるDMLボタンをクリックします。

Scala 3 support

Google BigQueryダイアレクトUltimate

Google BigQueryの部分的なサポートを追加しました。IDEはクエリを正しく強調表示し、それらのコーディング支援を提供します。

Scala

Auto-import for Implicits

暗黙の自動インポート

表示 | 暗黙ヒントの表示を使用して暗黙的(存在しない場合でも)を表示できますが、暗黙的インポートは簡単な作業ではありませんでした。

暗黙的なアクションの新しい自動インポートは、未解決の参照の自動インポートとまったく同じように機能します。自動ポップアップにより機能がより見つけやすくなりますが、自動ポップアップを無効にして、Alt + Enterでインポート…クイックフィックスを呼び出すこともできます( 詳細(英語))。

Auto-import for Implicits

インデントベースのブレース処理

ブレースの追加と削除は、Scalaプログラマーの日常生活の不可欠な部分です。タスクを簡単にするために、最初に式をラップおよびアンラップするインテンションを追加しましたが、手動で呼び出す必要がありました。次に、補完的なブレースを自動的に追加および削除することをサポートしました。

これでさらに良いことができます。コードのインデントに基づいて、中括弧の両方が自動的にオンザフライで追加および削除されます。このように、Scala 2でも、中括弧を維持しながら大幅なインデントを試すことができます。この機能を利用するには、中括弧については考えずに、IDEに機能を任せます。

ファーストクラスの仲間

Scalaでは、コンパニオンクラスまたは特性とコンパニオンオブジェクトには特別な関係があります。これは長い間プロジェクトビューに反映されていましたが、それ以外の場合はコンパニオンを他のクラスまたはオブジェクトとして扱っていました。

次に、コンパニオンのナビゲート可能なガターアイコンを表示します(設定 | 一般 | エディター | ガター・アイコンで構成可能)。 class , traitまたは object キーワードでジャンプを使用して、コンパニオンに移動することもできます。コンパニオンオブジェクトのメンバーは、簡単に自動入力または自動インポートできます。

In-editor Scaladoc rendering

エディター内のScaladocレンダリング

Scaladocマークアップは編集が簡単ですが、表示はそれほど簡単ではありません。列、タグ、マクロを*たどる必要があります。これで、Scaladocをエディターで直接レンダリングできるため、見た目が簡潔で簡潔になります(エディター | 一般 | 外観でレンダリングを切り替えることができます)。

クイック・ドキュメントポップアップでのScaladocレンダリングも改善されました。これにより、段落、リスト、マクロを適切に処理できるようになりました。

補完の改善

コード補完の精度と速度を向上させることに加えて、2つの特徴的な新機能を導入しました。まず、現在のスコープに適切な値が存在する限り、メソッドの名前と引数の両方を1つのステップで自動補完できるようになりました。

次に、ドット表記を使用して「静的」関数を引数に適用できるようになりました。これは、代数データ型(ADT)と組み合わせて使用できます。この機能はHoogleの補完(英語)の一部です。Hindley-Milner(英語)型システムを使用しない言語(進行中の作業)でホーグル(英語)を再想像する試みです。

Docker

Connect to Docker securely

Dockerに安全に接続する

IntelliJ IDEAからDockerデーモンへのTLS接続のサポートを追加したため、IntelliJ IDEA 2020.2を使用すると、Windows上のDockerに安全に接続できます。

Kubernetes

Multiple configuration files

複数の構成ファイルUltimate

環境設定/設定 | でカスタム kubeconfig ファイルを指定できるようになりました。ビルド、実行、デプロイ | Kubernetes。または、Kubernetesルートアイテムを選択するときに、サービスビューの設定の表示…ボタンをクリックします。カスタム kubeconfig ファイルをグローバルに、または現在のプロジェクトに対して指定することもできます。つまり、プロジェクトごとに個別の kubeconfig ファイルを作成できます。

ConfigMap and Secret support

ConfigMapとシークレットのサポートUltimate

現在のプロジェクトとクラスターからのConfigMaps / Secretsの補完を追加しました。クラスターからのアイテムは、補完リストで青でマークされています。これで、ConfigMap / Secretの使用状況から、プロジェクトまたはクラスター内の対応するConfigMap / Secretリソースに移動できます。同じことがConfigMap / Secretキーにも当てはまります。

その他

  • IntelliJ IDEA 2020.2には、Android Studio 4.0からのすべての変更が含まれています。詳細情報今(英語)
  • IntelliJ IDEAは、スクリーンリーダーを使用しているかどうかを検出できます。使用している場合は、IDEのユーザー補助機能が自動的に有効になります。
  • IntelliJ IDEA 2020.2を使用すると、LinuxでUnicode絵文字を使用できます。爆破する準備をしましょう。🚀
  • パフォーマンスとレンダリングの課題を回避するために、JCEFとの新しい統合を提供して、IntelliJプラットフォームプラグインを実行します。