IntelliJ IDEA の新機能
2019.1 3月27日

テーマ

テーマのカスタマイズ

エキサイティングなニュースがあります。IntelliJ IDEA 2019.1はカスタムテーマを公式にサポートするようになりました! 簡単に独自のテーマを作成することができます。さらに学習したい方に

いくつかのまったく新しいテーマを作成しました。新しいテーマの1つをダウンロードして、外観設定でテーマとして選択することで、すぐにIDEに色を追加できます。さらに学習したい方に(英語)

Java

Java 12 switch 式のサポート (プレビュー)

IntelliJ IDEA 2019.1は、Java 12プレビュー機能(JEP 325(英語)に基づいた switch 式)をサポートしています。

始めやすくするために多くの新しいインスペクションとクイックフィックスがあります。IDE は、拡張された ’switch’ ステートメントまたは式に置き換え可能な ’switch’ ステートメントを検出し、変換用のクイックフィックスを提供します。IDE は ’switch’ 内で重複したブランチも検出し、マージするための迅速な修正を提供します。これは氷山の一角にすぎません。

さらに学習したい方に(英語)

変数抽出リファクタリングの機能強化

変数抽出リファクタリングは大幅に改善されており、今では以前よりもより良いセマンティクスを保持しています。IDE はフィールド初期化子からでも変数を抽出することができ、変数抽出リファクタリングは、条件が重要なときに自動的に三項演算子を ‘if‘ に変換することができます。null チェックまたは ‘instanceof‘ チェックがある場合、条件は重要であると見なされます。

三項演算子の正確な警告の強調表示

IntelliJ IDEA 2019.1は三項演算子に対してより正確な警告の強調表示を保証します。これは、null 許容性違反が検出された条件のみを強調表示します(これまでは、null 許容性が単一のブランチでのみ違反している場合でも、三項演算子全体を強調表示していました)。

この新機能のおかげで、強調表示は switch 式でもより正確になりました。

改善された数学演算の分析

データフロー分析は、数学的演算の結果を追跡し、この情報を使用して常に真または偽である条件について警告します。乗算、剰余、ビットごとの演算など、多くの数学演算の分析が改善されました。

ソースからコンストラクターが pure か推測

IntelliJ IDEA 2019.1は@Contract注釈のサポートを改善します。ソースからコンストラクターが pure (副作用がない) か自動的に推測できるようになりました。

Javaスタックトレースから行内の適切な位置へのナビゲーション

Javaスタックトレースをクリックすると、IDEはカーソルを移動する行内の正確な位置を決定しようとします。以前は、対応する行の最初の列に移動するだけでした。

重複した switch ブランチの検出

IDE は重複した switch ブランチを検出できるようになり、そのようなブランチをマージするためのクイックフィックスを提供します。

Gradle

Gradleプロジェクトごとに設定されたGradleへのビルドおよび実行アクションの委譲

プロジェクトごとに個別にビルドおよび実行アクションをGradleに委譲することが可能になりました。IntelliJ IDEAプロジェクトが複数のGradleプロジェクトで構成されている場合は、各Gradleプロジェクトに対してこのオプションを構成します。同じプロジェクトのテストランナーとアプリケーションランナーに異なる値を設定することもできます。

IntelliJ IDEA 2019.1では、新規Gradleプロジェクトでは、デフォルトでビルドおよび実行アクションがGradleに委譲されています。

エディターから実行するGradleテストタスクの適切な選択

IntelliJ IDEA 2019.1では、テストの実行がGradleに委譲されているいくつかのGradleソースセットを持つプロジェクトのサポートを改善しました。これでIDEは、特定のテストが実行されたときに実行されるべきタスクを正しく解決します。複数の選択肢がある選択肢の場合、IDEはこの選択したテストに対して実行できるすべてのタスクのリストを提供します。

ビルド・アクションが Gradle または Maven に委譲されている場合のホットスワップ機能

これで、Gradleに委譲されたビルドアクションを使用してデバッグしているときに、HotSwapがトリガーされ、プロジェクトをビルドするとクラスがリロードされます。

また、HotSwapはビルドアクションがMavenに委譲されている場合にも機能します。

Maven

Maven のビルド出力をビルド・ツール・ウィンドウに報告

便宜上、Mavenのすべてのビルド出力は単一の場所(ビルドツールウィンドウ)に表示されます。実行またはメッセージウィンドウをチェックインする必要はもうありません。ビューを切り替えてビルド出力をログとして表示することもできます。

改善された Maven ダイアグラム

Mavenダイアグラムは、新しいオプションで拡張および拡張されています。「競合/重複の表示」を使用すると、競合と重複した依存関係を簡単に見つけることができます。ノードへのすべてのパスを表示するには、[パスを表示:ルート->選択]をクリックします。

ノードの依存関係のみを表示する必要がある場合は、[選択したノードの近隣を表示]を選択します。ダイアグラムをボーダレスビューに切り替えることもできます。

バージョン管理

フィックスアップとスカッシュが VCS ログに追加

VCS ログタブのコンテキスト・メニューからフィックスアップおよびスカッシュ・アクションを呼び出すと、正しいフィックスアップとスカッシュ・コミット・メッセージでコミットが作成されます。

VCSログからファイルの一部だけを選択する機能

IntelliJ IDEA 2019.1を使用すると、VCSログにいる間にコミットから選択ファイルを選択することができます。単にコンテキストメニューを呼び出して、「選択した変更を適用」オプションを選択してください。

受信および発信コミットの表示

ブランチポップアップで個々のブランチのための受信および発信コミットの可用性を見るオプションがあります。環境設定 / 設定 | バージョン管理 | Git の 'ブランチポップアップで送受信コミットを持つブランチをマークする' オプションをオンにする必要があります。

削除されたシェルブを復元可能

これで、最近削除されたファイルをすべて表示したり、便利なシェルブされたファイルを復元したりできます。VCS ツールウィンドウのシェルフタブにある新しい "最近削除された" ノードを使用するだけです。

部分的なGitコミットのための新しい「すべてのチェックを外す」チェックボックス

より便利にするために、コミット変更ダイアログの差分ペインに新しい「すべてのチェックを外す」チェックボックスを追加しました。これで、すべてのコードチャンクを一度に簡単にチェック解除できます。

VCS注釈の作成者のイニシャルを表示するモード

VCS 注釈で彼らのフルネームの代わりに作成者のイニシャルを表示することができます。注釈タブを右クリックして、コンテキストメニューから、表示 | 名前 | イニシャルを選択します。

差分

ドラッグアンドドロップで空白の差分ウィンドウにファイルの内容を追加する

ファイルをドラッグすることで、空白の差分ウィンドウにテキストをコピー&ペーストすることが可能になりました。

差分ビューアーで比較されているファイルを入れ替える機能

2つのファイルを比較、クリップボードと比較、空白の差分を使用して開くと、差分ビューアーで左右を入れ替えることができます。右側に表示されているファイルと左側に表示されているファイルを切り替えるには、左右入れ替えを選択します。

左右入れ替えはディレクトリー比較でも使用することができます。

文字単位で違いをプレビューする

これで、差分ビューアーで以前に行われていたように、単語単位だけでなく文字単位でも違いを表示できます。日本語のようにアルファベットとは異なる文字がソースコードに含まれている場合は非常に便利です。

最近使用したロケーション・ポップアップ

コード内で最近使用した場所と変更された場所をすべて表示する、新しい "最近使用したロケーション" ナビゲーションポップアップを表示します。このポップアップでは、使用したすべての場所が時系列順に並べられています。最新の場所が一番上に表示され、最も古い場所が一番下に表示されます。新しい "最近使用したロケーション" ポップアップを表示するには、Cmd-Shift-E / Ctrl-Shift-E を押します。

JVMデバッガ

デバッガーの評価で 'synchronized'、'assert'、'switch' をサポート

デバッガーの評価は synchronized 文、assert 式、および switch 文をサポートするようになりました。

JVMデバッガのコードブロックから抜け出す

Javaプロジェクトをデバッグしている間に現在のブロックからステップアウトすることが可能になりました。この新しいアクションはメインメニュー | 実行から利用できます。

新しい「マウスポインタまで移動」マウスジェスチャ

デバッグモードでマウスを使用したい場合は、行の上にマウスを移動して IDE でこの行を強調表示します。行番号をクリックすると、IDE がカーソルまで実行アクションを実行します。

Scala

for 内包表記の強調表示

IntelliJ IDEA 2019.1は、エラーの強調表示、implicit ヒント、ジャンプ / クイック定義 / クイックドキュメントアクションなど、for 内包表記サポートが強化されています。

implicits 使用箇所の検索

使用箇所の検索は、implicit 定義、apply / unapply メソッド、for 内包表記メソッド、および単一抽象メソッド(SAM)タイプで呼び出すことができます。

Java へ逆コンパイル

Scala .class ファイルにソースがない場合でも、Javaに逆コンパイルすることができます。

カスタマイズ可能なScalafmtバージョン

IntelliJ IDEA v2018.2では、scalafmtフォーマッタのサポートを追加しました。このリリースでは、この機能が強化されました。IntelliJ IDEAでは、カスタムのScalafmtバージョンを使用できるだけでなく、IDEから必要なバージョンをダウンロードすることもできます。

独立したHOCONプラグイン

HOCONサポートを別々のリポジトリとプラグインに抽出しました。それらは要求に応じてインストールしたりアンインストールすることができます。

エラー強調表示の改善

このリリースでは、次のような分野でエラーの強調表示が大幅に改善されました。

  • 部分的統一と型変数の統一
  • コンストラクター強調表示、プライベートコンストラクターへの呼び出し。
  • Better-monadic-for コンパイラプラグイン: `implicit0` 機能。
  • Kind-projector : 値レベルの多態性ラムダ。
  • Simulacrum : 高アリティ型のコンストラクター

Groovy

Groovy 3.0のJavaスタイルのLambda構文のサポート

IntelliJ IDEA 2019.1は実験的なGroovy 3.0機能 - JavaスタイルのLambda構文をサポートします。IDEはコード補完、強調表示、型推論などの編集サポートを提供します。Groovy、インテンション、インスペクションもラムダボディの中で正しく機能します。フォーマットはJavaスタイルのラムダでも利用可能で、Javaスタイルのラムダもデバッグできます。

Kotlin

IDEにバンドルされているKotlinプラグインはv1.3.21に更新されました

パラメータなしで ‘main’ を生成するライブテンプレート

Kotlin 1.3から、パラメータなしでmain関数を使用することができます。IntelliJ IDEAのこのリリースでは、「main」ライブテンプレートを使用して、パラメータなしでmainメソッドを作成できます。

現在のデフォルトの 'main' の省略形は、mainメソッドの新しいバージョンを作成します。引数を渡す必要がある場合は、「maina」という略語を使用してください。

文字列変換の改善

「連結をテンプレートに変換」インテンションは、各パラメータに対する不要な.toString()呼び出しを削除できるようになりました。

SAMをラムダとして匿名オブジェクトに変換するための新しいインテンション

SAMでラムダを使用してコンストラクトを匿名オブジェクトに変換する必要がある場合は、この便利な新しいインテンションアクションを使用してください。

コルーチンコードを改善するためのインテンションアクション

コルーチンを扱う場合、IntelliJ IDEAは「Deferred」を返す関数に「Async」サフィックスを追加することを提案します。

JavaScript & TypeScript

JavaScript分割代入用の新しいインテンション

IntelliJ IDEA 2019.1には、JavaScriptまたはTypeScriptコードで分割代入を使い始めるのに役立つ新しいリファクタリングとインテンションが付属しています。

Promise を async/await に変換するインテンション

.then() および .catch() 呼び出しで Promise を返す関数を async/await 構文を使用する非同期関数に変更します。このクイックフィックスを使用するには、機能名の上で Alt-Enter を押して、「async 関数に変換する」を選択します これは TypeScript、JavaScript、および Flow で利用可能です。

CSSとHTMLに関する最新の文書

CSSプロパティー、HTMLタグ、および属性(F1 / Ctrl-Q)のクイックドキュメントに、MDNの簡単な説明(最も一般的なブラウザとの互換性を含む)が表示されるようになりました。

改善されたJavaScriptデバッガコンソール

JavaScriptおよびNode.jsデバッグツールウィンドウの対話型デバッガコンソールは、ツリービューを使用してオブジェクトを表示するようになりました。また、CSSによるログメッセージのスタイル設定およびconsole.group()およびconsole.groupEnd()を使用したそれらのグループ化をサポートします。また、あらゆる種類のログメッセージを除外することもできます。

Docker

Dockerコンテナー内でデバッグする機能

これで、Dockerコンテナー内で実行されているJavaアプリケーションにデバッガーを接続することができます。IDEでは、Dockerfileから構築されたコンテナー、またはDocker compose(docker-compose.yml)を使用して作成されたコンテナー内のデバッグが可能になりました。

Kubernetes

外部リソースのサポート

IntelliJ IDEA 2019.1は外部リソースをサポートします。つまり、外部リソースからカスタムリソース定義仕様をロードできるようになりました。現在、これはローカルファイルからのみ可能です。仕様を追加するには、環境設定 / 設定 |に進みます。言語とフレームワーク |カスタムリソース定義仕様へのパスをKubernetesして追加します。

Helmリソースファイルでのチャートの名前変更のリファクタリング

Helmリソーステンプレートファイルのチャートで名前の変更リファクタリングを使用できるようになりました。Helmリソーステンプレートファイルのサポートを有効にするにはGo テンプレート(英語)プラグインをインストールする必要があることに注意してください。

エディター

コードスタイル設定をJSONにエクスポートするオプション

デフォルトの設定と一致する場合でも、すべてのコードスタイル設定をIntelliJ IDEAから JSON にエクスポートできるようになりました。環境設定/設定 | エディター | コード・スタイルに移動して、プルダウンメニューからエクスポート | IntelliJ IDEAコードスタイルの JSON オプションを選択します。

ファイルタイプに応じてソフトラップを有効にする機能

ソフトラップは特定のファイルタイプに限定することができます。エディター一般とソフトラップファイルフィールドの使用。

WindowsでのCtrl-Yキーストロークのためのキーマップ設定ダイアログ

Windowsで最初にCtrl + Yキーを押すと、キーマップ設定ダイアログが表示され、ショートカットを「行の削除」または「やり直し」に割り当てるように求められます。

Sublime Textキーマップ

IntelliJ IDEAに新しい設定済みキーマップを追加し続け、v2019.1ではSublime Textキーマップを追加しました。環境設定/設定に移動します。キーマップと[キーマップ]ドロップダウンリストから[Sublime Text]を選択します。これでIntelliJ IDEAでSublime Textのショートカットを使用できます。

VSコードキーマッププラグイン

これで、事前に設定された VS Code キーマップを使用できます。これは、プラグイン(英語)として別途提供されています。このプラグインをインストールして、環境設定 / 設定 | キーマップの VS Code キーマップを選択してください。

Groovy 3.0のJavaスタイルのLambda構文のサポート

IntelliJ IDEA 2019.1は実験的なGroovy 3.0機能 - JavaスタイルのLambda構文をサポートします。IDEはコード補完、強調表示、型推論などの編集サポートを提供します。Groovy、インテンション、インスペクションもラムダボディの中で正しく機能します。フォーマットはJavaスタイルのラムダでも利用可能で、Javaスタイルのラムダもデバッグできます。

Spring Cloud Stream

Spring Cloud Stream編集サポート

IntelliJ IDEAは、構文の強調表示、インスペクション、クイックフィックス、コード補完(application.propertiesファイルまたはapplication.ymlファイル内の値と参照のバインダー名の補完を含む)など、Spring Cloud Streamプロジェクトの豊富な編集サポートを提供します。

バウンド・プロデューサーとコンシューマー間のナビゲーション

ガターアイコンを使用して、バウンド・メッセージ・ハンドラーとプロデューサー・メッセージ・ハンドラー間を移動できます。コンシューマーおよびプロデューサーは 'spring.cloud.stream.bindings' 設定キーを介して application.properties または application.yml ファイルにバインドされるべきであることに留意してください。

Thymeleaf

改善されたThymeleafサポート

これで、'th:replace' および 'th:include' 属性で参照されているテンプレートフラグメントに移動できます。コード補完と名前変更リファクタリングは、これらの包含され置換されたフラグメントに対しても機能するようになりました。

データベース・ツール

Greenplum、Vertica、およびApache Hiveのサポート

IntelliJ IDEAはこれらの新しいデータベースをサポートします。

  • Greenplum - PostgreSQLに基づく分析データベース。
  • Vertica - 大量のデータを処理するために設計された列指向のストレージ。
  • Apache Hive - データの照会と分析を提供するためにApache Hadoopの上に構築されたデータウェアハウス。

改善された接続ダイアログ

接続ダイアログの外観を更新し、いくつかの重要な設定を追加しました。これで、接続を確立するたびに実行されるSQLクエリを[起動スクリプト]フィールドに追加できます。また、IDEが自動的に切断されるまでのタイムアウトを設定したり、接続を維持するためにN秒ごとにクエリを実行する時間間隔を設定したりすることもできます。

選ぶ
あなたのエディション

Ultimate

Webおよびエンタープライズ開発用

Community

JVMおよびAndroid開発用
ライセンス有償オープンソース、Apache 2.0
Java、Kotlin、Groovy、Scala
Android ?
Maven、Gradle、SBT
Git、SVN、Mercurial
Perforce
JavaScript、TypeScript ?
Java EE、Spring、遊び、Grails、その他フレームワーク ?
データベースツール、SQL
重複の検出?>?