IntelliJ IDEA の新機能

IntelliJ IDEA 2020.1の新機能

IntelliJ IDEA 2020.1は、Java 14のサポートと多くのフレームワークの新機能を追加し、データフロー分析支援でデバッガーをアップグレードし、新しいLightEditモードを追加し、JDKをダウンロードして構成します。

Java

Java 14サポート: レコードとパターンマッチング

IntelliJ IDEA 2020.1は、Java 14とその新機能のサポートを追加します。IDEはレコードの完全なコードインサイトサポートを追加するだけでなく、新しいレコードをすばやく作成し、それらのコンストラクターとコンポーネントを生成することを可能にし、既存のエラーについて警告します。また、新しいインスペクションを含むinstanceof演算子のパターンマッチングのサポートと、新しい簡潔なパターン変数で置き換えることにより、冗長なinstanceof-and-castイディオムをすばやく簡素化するクイックフィックスも発見できます。

IntelliJ IDEAでのJavaの使用の詳細(英語)

Downloading JDK

IDEからJDKをダウンロードする

Webで必要なJDKを検索する必要がなくなりました。IntelliJ IDEA 2020.1以降、プロジェクトを作成および構成するときに、IDEから直接JDKビルドをダウンロードして設定できます。ダウンロードしたプロジェクトを開くと、IDEは、このプロジェクト用に構成されたJDKがコンピューターにすでにインストールされているかどうかを確認します。そうでない場合、IDEはダウンロードするように要求します。

New Java inspections

新しいJava インスペクション

IntelliJ IDEAのすべての新しいバージョンで、静的コード分析機能を拡張しています。そして、このリリースに違いはありません。さまざまな改善に加えて、いくつかの新しいコードインスペクションも追加しました。彼らは、SimpleDateFormatパターンの大文字の使用をチェックし、日付フォーマットのケースを分析し、追加の冗長なメソッド呼び出しを検索し、レポートして、文字列リテラル内の不要なエスケープ文字の除去を提案します。

エディター

LightEditモード

IntelliJ IDEA 2020.1には、待望のLightEditモードが搭載されています。プロジェクト全体を作成またはロードすることなく、テキストのようなエディターでスタンドアロンファイルをすばやく変更できるようになりました。この新しい軽量エディターでファイルを開くには、コマンドライン、IDEの開始画面、またはOSシステムファイルマネージャーを使用します。「プロジェクトでファイルを開く」インテンション(Alt+Enter)を使用して、ライトエディットモードからフルプロジェクトモードに切り替えることもできます。

LightEditの詳細(英語)

In-place Rename and Change Signature

インプレースの名前変更とシグネチャーの変更

IntelliJ IDEA 2020.1でJavaまたはKotlinアプリを操作するとき、面倒なモーダルダイアログを使用してメソッドまたはクラスのシグネチャーを変更する必要がなくなりました。これで、クラスまたはメソッドのパラメーターを編集し、新しいガターアイコンをクリックするか、Alt+Enter を押して、クラス/メソッド宣言とそのすべての使用箇所に変更を確認および適用できます。

インプレースの名前変更とシグネチャーの変更の詳細(英語)

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

エディターでJavadocを読むと、特に参照リンクやイメージを操作する必要があるときに、すべてのタグをたどる必要があるため、煩わしい場合があります。これが、エディターでJavadocをレンダリングする方法を追加する理由です。 Help | Find actions | Render documentation comments on file openingを通じてこの機能を有効にします。

Javadocsレンダリングの詳細(英語)

Quick type definition

タイプのクイック定義

コードからフォーカスを切り替えることなく、変数、フィールド、メソッド、およびその他のシンボルの型定義を学びます。必要な記号にキャレットを置き、メインメニューから View | Quick Type Definition を選択します。IntelliJ IDEAはポップアップで情報を表示し、そこからソースファイルを開いてコードを編集できます。

Improved navigation bar

改善されたナビゲーションバー

IntelliJ IDEA 2020.1には、プロジェクトのナビゲーションを簡素化するためのもう1つのオプションがあります。ナビゲーションバーにJavaクラスとインターフェースのメソッドが表示されるようになったため、スクロールせずにファイル内の必要な行にすぐにジャンプできます。ナビゲーションバーを使用しない場合は、View | Appearance | Navigation Barでオンにする絶好の機会です。

Zen mode

Zenモード

エディターに新しいZenモードを導入しました。それはあなたの気晴らしを排除してあなたのソースコードだけに集中できます。Zenモードは集中モードと全画面モードを組み合わせたもため、両方を有効にする必要はありません。メインメニューから View | Appearance | Enter Zen Mode を選択するだけで、外の世界を忘れることができます。

Smart grammar checker

スマートな文法とスペルチェッカー

IntelliJ IDEA 2020.1には、包括的な文法、スペル、およびスタイルチェックツールであるGrazieプラグインがバンドルされています。IDEがチェックするのは、コード構造だけではありません。また、16の自然言語で、明確な文字列リテラル、コメント、Javadoc、コミットメッセージなどを記述するのにも役立ちます。デフォルトでは、テキストファイルのみをチェックしますが、Settings/Preferences | Editor | Proofread | GrammarでもJavaファイルに対して有効にすることをお勧めします。

デバッガー

Dataflow analysis assistance

データフロー分析支援

IntelliJ IDEA 2020.1は、JVMデバッガーにデータフロー分析を追加します。このコードが実際に実行される前に、コードの実行を予測します。アプリケーションがブレークポイントで停止すると、IDEはプログラムの現在の状態に基づいてデータフロー分析を実行し、次に何が起こるかを確認します。デバッガーでDFAを使用するには、Settings/Preferences | Build, Execution, Deployment | Debugger | Data Views | JavaでDFAを有効にします。

Java Dataflow Analysisとデバッガーの統合を読む(英語)

Pin to top

上にピン留め

もう1つの改善点は、オブジェクトのフィールドをフィールドリストの一番上に固定できる機能です。これは、オブジェクトに非常に多くのフィールドがあり、調査する必要があるフィールドを見つけるのが難しい場合に便利です。

プロファイラー

Focus on method calls

メソッド呼び出しに焦点を当てるUltimate

IntelliJ IDEAでのアプリケーションプロファイリングのサポートは進化し続けています。このリリースでは、サブツリーに焦点を合わせる、呼び出しに焦点を合わせる、サブツリーを除外する呼び出しを除外といういくつかの新機能を追加しました。これらのオプションを使用すると、選択したメソッド呼び出しにさらに焦点を絞り、不要なものを除外できます。

Collapse recursive calls

再帰呼び出しを折りたたむUltimate

IntelliJ IDEAのプロファイラーは、同じメソッドがスタックの上位に呼び出されたときに再帰呼び出しを検出するようになりました。IDEでは、これらの呼び出しをサブツリーから外すことにより、再帰をバイパスできます。これにより、ほとんどのリソースを消費するメソッドと、それらが行う呼び出しに集中できます。再帰呼び出しは、プロファイラーツールウィンドウの呼び出しツリータブでこの新しい特別なアイコンでマークされます。

HProfスナップショットUltimateの初期サポート

IntelliJ IDEA 2020.1は.hprofメモリダンプファイルを開きます。これは、メモリリークを特定し、メモリ使用量を最適化する方法を見つけるのに役立ちます。例:ファイルの合計サイズ、インスタンス数、スタックトレースなどの基本情報が表示されます。ファイルには、クラスでグループ化されたすべてのルートオブジェクト、インスタンスの数またはサイズで並べ替えられたすべてのクラス、およびフィールド値ビューアーを使用したすべてのクラスインスタンスもリストされます。.hprofファイルを開くには、Help | Find action に移動して「hprof」と入力し、Hprofスナップショットを開くアクションを見つけます。この機能は初期段階であり、次のメジャーリリースで改善される予定です。

バージョン管理

 New Commit tool window

新しいコミットツールウィンドウ

IntelliJ IDEA 2020.1では、VCSリポジトリへの変更をコミットするためのインターフェースを作り直しました。モーダルコミットダイアログの代わりに、専用のコミットツールウィンドウを最大限に活用できるようになりました。変更されたファイルのリストとdiffのためのより多くのスペースを提供し、コミットの準備ができたら変更を追加し、コミットメッセージを繰り返し作成し、ステージングされた変更のどれをどのコミットに入れるかを選択できます。新しいユーザーに対しては、新しいUIがデフォルトで有効になっています。既存のユーザーは Preferences/Settings | Version Control | Commit Dialogでそれに切り替えることができます。

新しい対話的にリベースダイアログ

作り直されたここから対話的にリベースダイアログは本当にインタラクティブになりました。これで、ブランチの各コミットで実行するアクションを選択できるようになるだけではありません。また、適用されたアクションを示すグラフ、コミットの詳細を表示し、差分を確認して、必要に応じて変更を確認またはリセットできます。

Install Git from the IDE

IDEからGitをインストールする

IntelliJ IDEA 2020.1を使用すると、Gitを手動でプレインストールする必要がなくなります。既存のGitリポジトリのクローンを作成すると、IDEはマシン上でGit実行可能ファイルを探し、IDEが見つけられない場合はダウンロードしてセットアップするように提案します。

ブランチポップアップ

  • ブランチポップアップに、既存のリモートおよびローカルブランチを検索できる明示的な検索フィールドが追加されました。
  • リフレッシュボタンが改善され、既存のリモート ブランチをリフレッシュできるようになりました。
  • 受信(青)と送信(緑)のコミットインジケーターがステータスバーに追加されました。
  • ログにブランチリストが追加されました。

UI

JetBrains Mono

JetBrains Mono

IntelliJ IDEAの効率を重視していますが、そのルックアンドフィールにも多くの努力を注いでいます。ユーザーの多くは、最近独自のフォントJetBrains Monoの開発を終えたことをすでに知っています。たくさんの肯定的なフィードバックを得ており、そのため、JetBrains Monoは、このリリースでIntelliJ IDEAのデフォルトフォントになっています。

統一されたIntelliJ Lightテーマ

IntelliJ IDEA 2020.1は新しいデフォルトのライトテーマを特徴としており、すべての異なるオペレーティングシステムで統一されています。IntelliJ Lightを歓迎してください! View | Quick Switch Scheme | Themeの古いテーマの1つにいつでもロールバックできますが、IntelliJ Lightを試してみることを強くお勧めします。

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

Spring WebFlux Ultimate

開発者のトレンドに対応し、最も人気のあるテクノロジーをサポートするために常に努力しているため、v2020.1では、Spring WebFluxフレームワークのサポートを強化しました。リクエストマッピングを追加したため、WebFluxアプリケーションでActuatorが有効になっている場合は、実行ツールウィンドウでマッピングにアクセスして、アプリケーションを監視し、操作することができます。また、IDEはレンダリングAPIで適切に機能するようになり、コードの自動補完と関連ビューへの移動が利用できるようになりました。さらに、使用箇所の検索Alt+F7)や名前変更リファクタリング(Shift+F6)などのコードインサイト機能を最大限に活用できます。

Spring WebFluxのさらなる改善(英語)

SpringプロファイルUltimate

以前は、IntelliJ IDEAはSpringプロファイル式を文字列として扱いました。v2020.1以降、IDEは式内の異なるプロファイルを区別し、使用箇所の検索Alt+F7)や名前変更リファクタリング(Shift+F6)などのスマートアクションをプロファイルに適用できるようにします。また、アクティブな Spring プロファイルの変更ポップアップの使いやすさを強化し、既存のプロファイルの補完機能を実装しました。

Selenium

Selenium Ultimate

IntelliJ IDEA 2020.1 Ultimateは、新しいSelenium UI Automation Testingプラグインを介して、Webアプリケーションをテストするための一般的なフレームワークであるSeleniumの初期サポートを導入します。新しいプラグインは、UIテストおよびレポートライブラリ用の最も一般的なJVMフレームワークをサポートします:Selenium、Selenide、Geb、Serenity BDD、およびAllure フレームワーク。

IntelliJ IDEAのSeleniumの機能拡張には、Java / Kotlin / Groovy言語のテストにおける新しいプロジェクトウィザード、ハイライト、インスペクション、およびコード補完、さまざまな構成ファイルの検証、およびナビゲーションを容易にするためのガター内のアイコンが含まれます。

IntelliJ IDEAでのSeleniumサポートの詳細(英語)

JMSおよびSpringメッセージングAPI Ultimate

IntelliJ IDEA 2020.1には、JavaおよびKotlinアプリケーションの両方に対応するJMSおよびSpringメッセージングAPIのコードインサイト機能の完全なセットが付属しています。これらには、コード補完、ナビゲーション、名前変更リファクタリング(Shift + F7)、参照インジェクション(Alt + Enter)などが含まれます。

Micronaut Ultimate

IntelliJ IDEAの以前のバージョンでは、Micronautフレームワークのサポートを追加しました。新しいバージョンでは、このサポートが拡張され、構成ファイルのパラメーターの自動補完、ナビゲーション、クイックドキュメントが追加されています。IDEはまた、基本的なデータ型を自動補完し、値が無効かどうかを検出します。さらに、IntelliJ IDEAはMicronaut URLマッピングで挿入されたRegExpフラグメントを認識するようになり、構文が読みやすくなりました。

RxJava Ultimate

IntelliJ IDEA 2020.1は、いくつかの便利なインスペクションを追加することにより、RxJavaサポートを強化します。IDEは未使用のパブリッシャーを検出するようになり、ラムダがnullを返したときに通知されます。また、スレッドブロッキングメソッドの呼び出しを強調表示し、長すぎるチェーンをフィルタリングします。

Project Generation for Quarkus and MicroProfile

QuarkusおよびMicroProfile Ultimate

IntelliJ IDEA 2020.1を使用すると、新規プロジェクトウィザードを使用して新しいQuarkusプロジェクトとMicroProfileプロジェクトを直接作成できるようになり、初期構成の手順が示されます。

Language injections for third-party SQL libraries

サードパーティSQLライブラリUltimateのインジェクション

IDEは、以前は通常の文字列として扱われていた一般的なサードパーティライブラリのSQLフラグメントを自動的に挿入し、SQLステートメントとフィールドにコード補完とナビゲーションを提供します。サポートされるライブラリのリストには、R2DBC、Vert.x SQLクライアント、Apache Spark SQL、Apache DB Utilsなどが含まれます。

Swagger Codegen

Swagger Codegen Ultimate

IntelliJ IDEA 2020.1はSwagger Codegen(サーバースタブ、APIクライアント、および広範なプログラミング言語をサポートするドキュメントを生成するための強力なツール)と統合されています。ファイルを生成するパス、.mustacheテンプレートフォルダーへのパス、言語、互換性の課題に備えて別のJREなどを設定できる専用の実行構成を用意しました。Swagger Codegenに魔法をかけるには、OpenAPI / Swaggerファイルを開き、その設定を指定し、いくつかのオプションを設定して、実行をクリックするだけです。

リモート仕様Ultimate

IntelliJ IDEA 2020.1は、openapi / swagger仕様での作業方法を知っています。例:自動補完を提供します。設定に仕様URLを入力するだけで、入力時にIDEがURLパスを補完させます。通常のクラスとインターフェースを作成するのと同じ方法で独自の仕様を作成することもできます: File | New | OpenAPI Specification

HTTP クライアント

自動補完の改善、およびその他のUltimate

IntelliJ IDEA 2020.1のHTTPクライアントは少し賢くなっています。パス変数とURLパスを正しく自動補完できるようになり、HTTPリクエストファイルから関連するエンドポイントに直接アクセスできるようになりました。Springユーザー向けのアップデートもあります。SpringMVCハンドラーメソッドに、URLマッピング用のガターアイコンが追加されました。これを使用して、既存のHTTPリクエストファイルを作成または開き、HTTPクライアントに移動します。

Docker

Easier Pull workflow for Docker

Dockerのより簡単なプルワークフロー

Dockerレジストリからイメージを簡単にプルできるように、UIを作り直し、モーダルダイアログを削除しました。これで、サービスツールウィンドウの左側のペインにあるImagesノードをクリックするだけで、IntelliJ IDEAの右側のペインにImages Consoleタブが開き、そこから簡単にイメージをプルできます。IDEはイメージの補完も提供します。

Kubernetes

Apply command for Kubernetes files

KubernetesファイルUltimateの「apply」コマンド

エディターのガターから直接「apply」コマンドを呼び出すことにより、ローカルファイルで定義された状態と一致するようにKubernetesクラスターを更新できるようになりました。

ビルド・ツール

Maven and Gradle importing updates

MavenおよびGradleインポート更新

IntelliJ IDEA 2020.1は、MavenおよびGradleユーザーに小さな重要な更新をもたらします。以前の自動インポートの代わりに、エディターの右上部分にフローティング通知があります。この通知または新しいショートカット(WindowsおよびLinuxの場合はCtrl+Shift+O、Macの場合はShift+Cmd+I )を使用して、ビルドファイルの変更後に変更をロードします。さらに改善:IntelliJ IDEAは、VCSの更新など、IDEの外部で行われたビルドファイルへの変更を検出すると、関連するプロジェクトを自動的に再読み込みします。

Scala

Scala 3 support

Scala 3のサポート

DottyがScala 3になる運命にある本格的なScala 3サポートに取り組み始めました。Scalaプラグインには、新しい構文、エラーの強調表示、ナビゲーション、型情報、およびその他の多くの機能を備えたScala 3の予備サポートが含まれるようになりました。

言語と言語サポートの両方がまだ機能しているため、新機能とバグ修正をできるだけ早く入手したい場合は、夜間プラグインビルドを使用することをお勧めします。

IntelliJ IDEAでのScala 3サポートの詳細(英語)

Fine-grained error highlighting for function literals

関数リテラルのきめ細かなエラーの強調表示

Scalaでは、関数リテラルがよく使用されます。これらはメソッドと非常によく似ており、個別のパラメーターと本体があります。しかし、それらは関数型の単一の式として扱われることが多く、エラーの特定と解釈が困難になります。

このリリースでは、関数リテラルのきめ細かなエラーの強調表示を導入しました。これにより、関数タイプのメッセージが不明瞭になる代わりに、明確で正確なメッセージに依存するエラーを特定できます。

Unused Parameter inspection

未使用のパラメータインスペクション

Scalaプラグインは、未使用の変数とメソッドを長い間表示することができました。これで、未使用のパラメータを見つけることもできます。メソッドまたはクラス内で参照されていないパラメーターは、灰色で強調表示されます。

変数やメソッドとは対照的に、未使用のパラメーターは多くの場合、プログラミングエラーの結果です。新しいインスペクションはコードをよりクリーンにするだけでなく、さまざまなエラーの防止にも役立ちます。

Smart Step Into

スマート・ステップ・イン

Scalaでは、多くの場合、同じ行に複数のメソッド呼び出しがあります。このような場合、デバッガーでステップインを使用するのはほとんど便利ではありません。目的のメソッドに到達する前に、手動で多くのメソッドにステップインおよびステップアウトする必要があります。

このリリースでは、ステップ・インはスマート・ステップ・インになりました。希望する方法を選択するだけで、IDEが処理を実行します。

BSPサポートの改善

BSPサポートを改善しました。今では、よりスムーズに、より多くのプロジェクトとビルドツールで動作します。BSP経由でsbtプロジェクトをインポートするために手動でBloopをインストールする必要はありません– ScalaプラグインはそのようなプロジェクトをBloop形式に自動的に変換できます。ビルドツールウィンドウからBSPビルドをキャンセルできるようになりました。最後に、BSPウィジェットを使用してBSP接続を表示および管理できます。

JavaScript

New smart intentions and inspections

新しいスマートインテンションおよびインスペクション Ultimate

新しいスマートインテンションおよびインスペクション(Alt+Enter)により、コーディング時の時間を節約できます。例:既存のコードをオプションのチェーニングや無効な合体にすばやく変換できるようになりました。この構文は、JavaScriptとTypeScriptの最新バージョンで導入されました。

Vuex and Composition API support

VuexとコンポジションAPIがUltimateをサポート

Vuexライブラリと今後のVue 3のコンポジションAPIの標準サポートにより、優れたVue.jsアプリケーションをさらにスムーズに構築できます。

WebStormの新機能を調べて、IntelliJ IDEA 2020.1でも利用可能な他のJavaScriptの改善点について学びましょう。

データベースの改善

Database improvements

データベースの改善Ultimate

データベースの改善には、データをExcel(.xlsx)ファイルにエクスポートする機能、エディターでテキストとしてデータを直接表示する機能、実行構成を作成する機能などが含まれます。

IntelliJ IDEA 2020.1でも利用できるすべてのデータベースの改善については、DataGripの新機能をチェックしてください。

ターミナル

Split terminal sessions

ターミナルセッションの分割

ターミナルセッションを縦または横に分割して、横に実行できる機能を追加しました。ターミナルからコンテキストメニューを呼び出して、分割ターミナルセッションを作成、ナビゲート、および閉じることができます。

実行構成

Store Run Configurations as files

実行構成をファイルとして保存

v2020.1以降、実行構成用にプロジェクトフォルダー内の任意の場所を選択できます。これを行うには、実行/デバッグ構成ダイアログを開き、ダイアログの右上部分にあるプロジェクトファイルとして保存をチェックして、歯車アイコンをクリックします。これにより、実行構成を保存する場所を選択できるポップアップが開きます。

Android

Android Volley support

Android Volleyサポート

IntelliJ IDEA 2020.1は、Android Volleyライブラリをサポートします。URLパス参照に自動コード補完を提供し、関連するリソースに移動できます。

その他

  • IntelliJベースのIDEは、JetBrainsランタイム8(JBR8)からJetBrainsランタイム11(JBR11)に完全に切り替わりました。
  • IDE設定は、あるメジャーバージョンから別のメジャーバージョンに自動的にインポート(英語)されるようになりました。