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秒ごとにクエリを実行する時間間隔を設定したりすることもできます。

2018.3 Nov 21

Java

Java 12

IntelliJ IDEA 2018.3には、Java 12の初期サポートが付属しています! 今すぐIDEで生文字列リテラルJEP 326 (英語))をプレビューして、便利なインスペクションやクイックフィックスを活用しましょう。例:複数行の文字列リテラルを生の文字列リテラルに変換したり、その逆に変換したり、冗長な先頭または末尾のバッククォート( `)などを検出します。さらに学習したい方に(英語)

法的通知をここで読む

Java 12はまだリリースされていないことに注意してください。Java 12のサポートを有効にするには、ベータJava仕様の法的通知の条項に同意しなければなりません。Java Community Process(JCP)に基づいて開発された初期ドラフト仕様の実装は、テストおよび評価目的でのみ提供されます。JCPの仕様と互換性があります。

より多くの重複を検出

IntelliJ IDEAは、変数名が異なるなど、より複雑なケースでも重複箇所をすばやく見つけることができるようになりました。IDEはdiffビューアーに重複を表示するため、互いに比較することができます。

JavaストリームAPIの改善

IDEは、後続のminコールの前に不要なソートされた呼び出しが行われる状況を検出します。冗長ソートされたコールを削除するためのクイックフィックスも提供されています。

データフローの強化

さらなる条件でカバーされている条件と呼ばれる新しいデータフローベースのインスペクションを作成しました。最初の条件が2番目の条件でカバーされているため不要な状況を検出します。IDEは、そのような冗長な状態を解消するための迅速な修正を提供します。

抑制されたインスペクションの冗長な使用

IntelliJ IDEAは、@SuppressWarning注釈、// noectionpection行コメント、/ ** noinspection * / JavaDocコメントの冗長な使用を検出するようになりました。抑制されたインスペクションが関連するメソッド本体、クラス、またはステートメント内の警告を処理しなくなった場合、IDEは警告を出すだけでなく、不要な注釈やコメントを削除するためのクイックフィックスを提供します。

エディター

複数行TODOコメント

IntelliJ IDEA 2018.3は現在、複数のTODOコメントをサポートしています。最初のすべてのTODOコメント行がエディターで強調表示され、TODOツールウィンドウにリストされます。複数行のTODOコメントの2行目からインデントを追加するだけで、IDEは通常のコメントと区別します。

特定のファイルおよびフォルダーのコード書式を無効にする

フォーマット、インポートの最適化、コードの再配置から、特定のファイルをロックすることが可能になりました。実際には、書式設定が関係する操作から明示的または暗黙的に行われます。スコープを作成し、フォーマットしてはいけないファイルを追加するだけです!

新しいインデントステータスバー

IntelliJ IDEAは、現在のファイル内のインデントのサイズを新しいインデントステータスバーに表示します。ファイルのインデントがプロジェクトの現在の設定と一致しない場合は、アスタリスクがインデント表示に追加されます。これで、ステータスバーのポップアップで現在のインデントを制御するアクションを選択できます。

EditorConfigサポートの改善

IDEは構文の強調表示とEditorConfigファイル用のコード補完を提供するようになりました。新しいインデントステータスバーポップアップを使用して、使用中のEditorConfigファイルに簡単にナビゲートすることもできます。

バージョン管理

GitHubプルリクエスト

IntelliJ IDEAにはGitHub Pull Requestの初期サポートが付属しています。新しいGitHubプルリクエストツールウィンドウからGitHubリポジトリ内のすべてのプルリクエストをプレビューします。差分を使用して変更をプレビューするか、コンテキストメニューからプルリクエストからローカルブランチを作成し、通常のブランチとしてマージします。

「ここまでのヒストリー」ですべてのヒストリーを表示

以前は、ここまでのヒストリーアクションは選択したコミットまでのファイルの履歴しか表示しませんでしたが、ツールバーのすべてのブランチを表示に切り替えることで、後でファイルに何が起こったかを表示できます。ファイルが後で削除された場合、このような状況を見つけ出すのは簡単な作業ではないため、これは特に便利です。

VCSログの高度なナビゲーション

コミットハッシュからVCSログタブのコミットに移動した後、またはハッシュ/ブランチ/タグへジャンプアクションを使用した後で、VCSログにいる間に、前方および後方ナビゲーションアクションを使用できるようになりました。左または右の矢印キーを使用して、子コミットまたは親コミットに移動します。

空白を無視

これで、IDEはマージ中に空白の変更を無視できます。リビジョンのマージダイアログには、無視の新しいドロップダウンメニューがあり、マージ時に空白の変更を隠すかトリムするオプションがあります。

あるGit ブランチから別のGit ブランチにファイルをコピーする

IntelliJ IDEA 2018.3を使うと、ブランチの比較ダイアログのファイルタブから入手できる便利な新しい ブランチからアクションを使って、あるGit ブランチから別のGit ブランチにファイルを簡単にコピーすることができます。

コミットダイアログのブランチ名

IDEはファイルをコミットするブランチの名前をコミットダイアログの中に表示します。これをGit、Mercurial、SVNに実装しました。

ファイル・ヒストリー・タブで差分プレビュー

差分プレビューは、バージョン管理ツールウィンドウのファイル・ヒストリータブで利用できるようになりました。

Gitサブモジュールのサポート

IntelliJ IDEA 2018.3はGitサブモジュールをサポートするようになりました! プロジェクトをクローンまたは更新し、変更をコミットし、差分を表示し、競合を解決します。

検索および置換

新しいどこでも検索

IntelliJ IDEA 2018.3は、プロジェクトとIDEの上をナビゲートする新しい方法を紹介します。再加工したどこでも検索を暖かく歓迎してください! 実際には、どこでも検索アクションの検索クラスに移動ファイルに移動シンボルに移動など、他のナビゲーションダイアログをすべて組み込んでいるため、どこでも検索だけではありません。以前のように、これらのナビゲーションダイアログには、それぞれ独自のキーボードショートカットからアクセスできます。

パス内検索で複数行のフラグメントを検索

これで、パス内検索/パス内置換 ダイアログで複数行のフラグメントの検索/置換が可能になりました。複数行の検索を実行するために、正規表現を使用する必要がなくなりました。

新しい構造検索と置換ダイアログ

IntelliJ IDEA 2018.3は、更新された合理化された構造検索と置換ダイアログを提供します。これで、自動補完は検索フィールドの定義済みテンプレートで機能します。検索アイコンにあるドロップダウンメニューで検索履歴を表示できます。スコープの設定がより簡単で柔軟になりました。複雑な変数の編集フォームは、更新されたダイアログにあるフィルタパネルに置き換えられました。

プラグインの設定ページ

環境設定設定)のプラグインのページを更新して、プラグインの管理、インストール、アンインストール、アップデートを簡単にしました。これで、プラグインを名前で検索するだけでなく、タグで検索することもできます。ダウンロード、名前、評価、機能、アップデートなどの結果を並べ替えることができるようになりました。

なんでも実行

なんでも実行

IntelliJ IDEA 2018.3には、新しいなんでも実行アクション(ダブルCtrl)を使用してIDEでコマンドを実行する、新しい集中型の方法が付属しています。新しいアクションを使用して、MavenとGradleを含む実行構成を起動したり、Gradleタスクを実行したり、ターミナルコマンドを実行したりします。

なんでもデバッグ

Shiftキーを押すだけで、なんでも実行ダイアログがなんでもデバッグモードに切り替わります。

Kotlin

IDEにバンドルされているKotlinプラグインがv1.3(英語)に更新されました

Kotlin 1.3のサポート

ちょうど最近、Kotlinには、言語、ツーリング、およびライブラリーの主要なリリースがありました。IntelliJ IDEAを使用すると、KotlinプロジェクトをKotlin 1.3に移行し、不要なコードで必要な変更をすべて実行して、ライブラリーの最新の状態に準拠させることができます。

マルチプラットフォームプロジェクトサポートの強化

Kotlin 1.3では、表現力と柔軟性を向上させ、共通コードの共有を容易にするために、マルチプラットフォームプロジェクトのモデル(英語)は完全に作り直されました。IntelliJ IDEAは最も一般的なユースケースをカバーするプロジェクト例のセットを提供します。

新しいKotlin インスペクションとクイックフィックス

IntelliJ IDEA 2018.2のリリース以来、Kotlinプラグインには、30種類以上の新しいインスペクション、クイックフィックス、インテンションがあり、コードをさらに効果的に書くのに役立ちます。

Spring & Spring Boot

Spring Boot 2.1のサポート

IntelliJ IDEA 2018.3は、最近リリースされたSpring Boot 2.1を完全にサポートしています。 @DataSize で注釈が付けられた設定値は、デフォルトの @DataSizeUnit(指定されている場合)を使用して検証されます。

Spring Initializrの改善

Spring Initializrを使用してプロジェクトを作成すると、IDEは適切なプラグインのインストールまたは有効化を提案し、選択したすべてのテクノロジのサポートが存在することを確認します。

KotlinのJPAおよびSpringデータサポートの改善

IDEは自動的にJPQLをクエリ文字列に挿入し、エンティティ名とパラメータの補完を提供します。KotlinにSpringデータインターフェースを書くことができ、IntelliJ IDEAは使用するエンティティを理解します。IDEはメソッド名のスマートな補完とパラメータのクイックフィックスを提供します。

アクセシビリティ

コントラストの高いテーマ

すべてのユーザーにとって素晴らしいエクスペリエンスを提供することを約束します。IntelliJ IDEA 2018.3を使用して、新しいハイコントラストテーマなどのアクセシビリティの改善をいくつか展開しています。

スクリーンリーダーのサポート強化

スクリーンリーダーのサポートを強化し、行番号、VCS注釈、デバッガ、ガターアイコンを読み込むことができます。

JVMデバッガ

javaプロセスへのアタッチ

デバッグエージェントなしで起動されたJavaプロセスにアタッチします。プロセスにアタッチすると、現在のスレッドの状態と変数の値を表示し、メモリビューを使用することができます。

ローカルプロセスにデバッガを接続する場合は、実行ツール・ウィンドウで使用できる便利な新しいデバッガの接続アクションを使用できます

リモート接続を自動的にリスンし直す

現在、リモートプロセスをデバッグしている間、IDEは自動的に構成を再開できます。リモートデバッグ構成に新しい自動再始動オプションを有効にするだけです。

リモート JVMの非同期スタックトレース

IntelliJ IDEA 2018.3は、リモート JVMで非同期スタックトレースをサポートするようになりました: エージェントのリモート使用を開始するには:

  • /lib/rt/debugger-agent.jarをリモートマシンにコピーします。
  • リモート JVMオプションに-javaagent:debugger-agent.jarを追加します。

非同期注釈の設定ダイアログで独自の非同期注釈を定義することができます。

すべてのブレークポイントを削除するアクション

IntelliJ IDEA 2018.3には、プロジェクト内のすべてのブレークポイント、またはファイル内のすべてのブレークポイントを削除する便利な新しいアクションが付属しています。環境設定 (設定) | キーマップ | デバッガーのアクションでは、これらの独自のショートカットを割り当てることができます。

Maven

これですべてのビルドアクションと実行アクションをMavenに委譲することができます。環境設定 (設定) | ビルド、実行、デプロイ | ビルド・ツール | Maven | ランナーに移動し、新しいIDEのbuild / runアクションをmavenに委譲するオプションを選択します。

ターミナル

組み込みターミナルが改善されたため、プロジェクトまたはIntelliJ IDEAを終了すると、IntelliJ IDEA 2018.3はターミナルタブ名、現在の作業ディレクトリー、およびシェル履歴を保存します。

また、ターミナルタブを他のツールウィンドウタブのように再設計しました。

実行構成

Java実行構成のマクロ

IntelliJ IDEAでは、'Application' と 'npm' の実行構成でマクロを使用できるようになりました。プログラムの引数フィールドには、定義済みのマクロを入力できます。

テキストファイルを入力として使用する機能

テキストまたはログファイルを入力として使用する場合は、実行/デバッグ構成 ダイアログで次からの入力をリダイレクトオプションを選択し、入力データを持つファイルへのパスを指定します。

実行構成は、デフォルトでは単一のインスタンスとしてのみ実行されます

デフォルトでは、実行構成は1つのインスタンスとしてのみ実行されます。ただし、実行/デバッグ構成ダイアログに並行実行可能にするオプションがあり、同じ実行構成の複数のインスタンスを並行して実行したい場合に有効にすることができます。

JavaScript & TypeScript

JavaScriptのオートインポート

IntelliJ IDEAは、プロジェクトの依存関係のシンボルのインポートをJavaScriptファイルに自動的に追加できるようになりました。これは、パッケージ内にTypeScript定義ファイルがあるか、パッケージにESモジュールとして記述されたソースが含まれている限り動作します。

改善されたAngularサポート

コード補完およびAngularテンプレートの変数、パイプ、非同期パイプ、およびテンプレート参照変数の定義への移動がより正確になりました。

Node.js ワーカースレッドのサポート

IntelliJ IDEAでNode.js ワーカーをデバッグできるようになりました - Node.js、10.12以上、および --experimental-worker フラグを使用していることを確認してください。IDEはワーカースレッドのAPI用にコード補完を提供します。

ESLintとTSLintによる柔軟性の向上

linterの設定ファイルから重大度レベルを無効にし、linterのすべての問題をエラーまたは警告として表示できます。

TSLintエラーの場合、Altキーを押しながら右矢印キーを押します。これで特別なTSLintディセーブルコメントをこのルールに追加するオプションがあります。

Kubernetes

Helm リソースファイルのサポート

IDEはHelm リソーステンプレートファイルを正しく解決し、よく知られている編集サポートを提供します:コード補完、名前変更リファクタリング、もちろんインスペクションとクイックフィックスです。

Helmリソースファイル内のナビゲーション

IDEを使用すると、グラフの値: yamlファイルの値の使用方法からその宣言に移動できます。ガターアイコンを使用して、ラベル定義とセレクタ間をナビゲートできます。さらに、values.yamlファイルには、オーバーライド/オーバーライドする値にナビゲートするための新しいガターアイコンがあります。

Helm テンプレート結果プレビュー

IDEは、Helmテンプレートレンダリングの結果をdiffでプレビューできるようになりました。コンテキストメニューから新しいKubernetes | Helm テンプレート アクションを選択するだけです。

Helm 依存関係更新

新しいHelm 依存関係更新アクションを使用して、外部tgz依存関係をダウンロード(または既存のものを更新)し、プロジェクトツリーに表示することができます。

データベース・ツール

Cassandraデータベース

今回のリリースでは、さらにNoSQLデータベースCassandraのサポートが追加されました。

SQL コード補完の改善

今度はコード補完はGROUP BYの非集約フィールド、SELECT、MERGE、INSERT INTOテーブル変数、ストアドプロシージャの名前付きパラメータ、SUM()およびAVG()、FILTER(WHERE)節の数値フィールド、およびSQLiteのフィールドタイプ。

テーブル・エイリアスを導入する

テーブル・エイリアスを導入するアクションを使用してテーブルに直接エイリアスを作成することができます。このエイリアスはテーブルの名前の使用箇所を自動的に置き換えます。

シングル接続モード

新しいコンソールはそれぞれ新しい接続を意味します。しかしIntelliJ IDEA 2018.3では、データソースに対して1つの接続しか使用できず、すべてのコンソールでこの1つの接続を使用することができます。データベースツリー内の一時オブジェクトはすべて表示できます。また、別のコンソールで同じトランザクションを使用することもできます。それをオンにするには、データ・ソースのプロパティー | オプション | シングル接続モードに移動します。

2018.2 7月25日

Java

Java 11

IntelliJ IDEA 2018.2は今後のJava 11をサポートします。IDEは、JEP 323(英語)に従ってラムダパラメータのローカル変数構文をサポートするようになりました。ラムダ式ではvarキーワードを使用できます。

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

エディターでのデータフロー情報のプレビュー

IDEは、既知のデータフロー情報をエディター内に表示することができます。それを見るには、単に式のタイプアクション(Ctrl+Shift+P)をもう一度呼び出します。

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

長いメソッド・チェーンの型ヒント

IntelliJ IDEAは、ロングメソッドチェーンの型ヒントを表示します。これは、ジェネリックでチェーンの長いメソッドのヒントとして各呼び出しのタイプを表示する場合に特に便利です。

自動補完とともにクイックドキュメントをポップアップするように設定する

クイック・ドキュメントを自動補完とともにポップアップするように設定することが可能になりました。環境設定/設定 | エディター | 一般 | コード補完ドキュメントのポップアップを表示するオプションを有効にするだけです。以前は、明示的に呼び出された補完でのみ表示されるようにドキュメントポップアップを設定することができました。

メソッド抽出時の新しいプレビュー・パネル

IntelliJ IDEA 2018.2は、メソッドの抽出リファクタリング用の新しいプレビューパネルを導入しました。変更を確認する前に、リファクタリングの結果がどのように表示されるかを確認することができます。これは、重複したコードフラグメントをリファクタリングするときに非常に便利です。

新しい@Contract注釈の戻り値

IntelliJ IDEAは@Contract注釈をサポートしています。@Contract注釈では、特定のパラメータが渡されたときにメソッドの反応を指定できます。契約情報は、さまざまなインスペクションおよびアクションで利用でき、より良い警告を生成し、誤検出を排除するために使用されます。

バージョン2018.2では、より多くの戻り値をサポートするように@Contract注釈を拡張しました:

  • new - メソッドが実行されるたびに、nullでない新しいオブジェクトを返します。
  • this - このメソッドはnull以外の値を返します。
  • paramX - このメソッドはX番目の引数を返します。

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

スマートな行結合アクション

行の結合のアクション(Linux / Windows / macOSのCtrl+Shift+J)をアップグレードしました。戻り値の型が修飾子の型と同じメソッド呼び出しでは、複数のメソッド呼び出しを連鎖呼び出しにマージします。これは後続の呼び出しで宣言または代入行にも機能します。

行の結合は、ネストされたif、および不要な0の行を結合するときに、よりクリーンな結果を生成するようになりました。

改善されたStream APIサポート

IntelliJ IDEA 2018.2では、Stream APIのサポートが改善されました。これで、ソートされていないコレクションを収集するソート済みストリームが検出されるようになりました。これは、ソートが不要であること、またはコレクタまたはコレクションを使用していることが間違っていることを示します。

さらに、collect(toSet())の前に冗長な distinct() 呼び出しについて新しい警告があります。なぜなら、Setに収集すると結果は常に区別されるからです。

エディター

タブで閉じ括弧/引用符の外に移動する

これで、入力中にタブを使用して、右角括弧の外側または閉じた引用符を移動することができます。これは、Java、Kotlin、Groovy、SQL、PHP、JavaScript、およびPythonファイルで動作します。このタブ動作を有効にするには、環境設定/設定 | エディター | 一般 | スマート・キーにジャンプし、括弧を閉じて外に出る/タブで引用を選択します。

再割り当てされたローカル変数と再割り当てされたパラメータに下線を引く

IntelliJ IDEAはデフォルトで再割り当てされたローカル変数と再割り当てされたパラメータを強調表示するようになりました。この機能をサポートするすべての言語(JavaおよびGroovyを含む)の属性は、環境設定/設定 | エディター | カラー・スキームの切り替え | 言語デフォルト | 識別子 | 再割り当てで変更できます。

for と while の強調表示

ブレークまたはcontinueキーワードでキャレットを配置すると、IntelliJ IDEAは対応するループのforまたはwhileキーワードを強調表示します。

ユーザー・インターフェース

MacBookタッチバーのサポート

IntelliJ IDEA 2018.2には、MacBook Touch Barが付属しています! プロジェクトの実行、ビルド、デバッグ、変更のコミット、タッチバーからのプロジェクトの更新。IntelliJ IDEAのボタンは、タッチバーインターフェースの中央にあるアプリケーション固有のエリアに表示され、コンテキストや押した修飾キーに依存します。

すべての使用可能なタッチバーのコンテキストは、環境設定 | 外観 & 振る舞い | メニューおよびツールバーのタッチバーページでカスタマイズできます。

ダーク・ウィンドウ・ヘッダー

macOSのIntelliJ IDEAタイトルバーを暗くすることが可能になりました。環境設定 | 外観 & 振る舞い | 外観にジャンプし、ダーク・ウィンドウ・ヘッダーを使用するを選択してください。

新しいアイコン

新しいアイコンをいくつか公開しました。IDE のツールバーとツールウィンドウ上の新しい、よりきれいでよりシンプルなアイコンは、視覚的な乱雑さを減らして、より読みやすくします。より明確な UI は焦点と生産性の維持に役立つと考えています。最近更新された UI アイコンの背景となるストーリー(英語)を参照してください。

LinuxでIntelliJのテーマを更新

Linux上のIntelliJテーマをよりモダンなものにしました。ボタン、ラジオボタン、チェックボックス、テキストフィールド、選択コントロール、スピナー、タブなどのUI要素の外観が更新されました。

バージョン管理

マージの競合を簡単に解決

Gitを使って作業するとき、マージの競合があるファイルを見つけるのがずっと簡単になりました。各変更リストに対して、IDEはそのようなファイルを新しい競合をマージするノードにグループ化します。解決アクションリンクをクリックして、競合でマージされたファイルダイアログを開きます。

また、IntelliJ IDEAは、競合でマージされたファイルダイアログでGit ブランチの名前を表示し、プル、マージ、またはリベースを実行します。この更新されたダイアログでは、ディレクトリーごとにファイルをグループ化することができます。これは、複数のファイルが競合によってマージされている場合に便利です。

[VCSログ]タブの拡張機能

ログタブのコンテキストメニューからコミット権限からGitタグを削除できるようになりました。

また、差分プレビューパネルがVCSログで使用できるようになりました。

さらに、好きなだけ多くのログタブを開くことができます。

ブランチフィルターのお気に入りブランチ

お気に入りのブランチをログタブのブランチフィルターに追加しました。すぐにお気に入りのブランチでコミットを素早くフィルターに掛けることができます。

改訂時のリポジトリーを参照

バージョン管理用にGitを使用している場合は、任意のリビジョンに基づいてリポジトリの状態を調べることができるようになりました。新しい改訂時のリポジトリーを参照アクションは、VCSログのコンテキストメニューまたはファイル履歴から使用でき、プロジェクトツールウィンドウで必要なリポジトリの状態を開くことができます。

複数のGitHubアカウント

IntelliJ IDEA 2018.2を使用すると、必要なだけGitHubアカウントを(環境設定 | バージョン管理 | GitHubで)設定し、各プロジェクトにデフォルトのGitHubアカウントを設定することができます。

プッシュダイアログをスキップする

IntelliJ IDEA 2018.2でコミットおよびプッシュアクションを使用している間は、プッシュダイアログを完全にスキップするか、プロテクトされたブランチにプッシュするときにのみこのダイアログを表示することができます。環境設定 | バージョン管理 | Gitでこの動作をカスタマイズします。

JVMデバッガ

新しいブレークポイントインテンション

Javaプロジェクトをデバッグするために、IntelliJ IDEA 2018.2にはいくつかの新しい便利なブレークポイントインテンションアクションが含まれています。特定のブレークポイントのプロパティーを手作業で設定する必要はありません。単にAlt+Enterを押すだけで、IDEは新しいブレークポイントインテンションと他のすべての利用可能なインテンションを提供します。

呼び出し元メソッドでヒットしたブレークポイントをフィルタ処理する機能。

IntelliJ IDEA 2018.2では、特定の条件がコールスタックに適用される場合、ブレークポイントで停止することができます。

新しい発信者フィルタを使用すると、指定されたメソッドから呼び出された場合にのみブレークポイントで停止できます。逆に、そのメソッドから呼び出された場合はブレークポイントで停止しません。

Gradle

付属のbuildSrc Gradleプロジェクトの自動検出

IntelliJ IDEA 2018.2は、GradleのbuildSrcソースとその使用箇所をビルドにリンクするため、ビルドスクリプトからbuildSrcソースにナビゲートできるようになりました。

Gradle DSLブロックをデバッグする

IntelliJ IDEAでGradleスクリプトをデバッグできるようになりました。以前は、build.gradleファイルをGroovyスクリプトとしてのみデバッグすることができました。IntelliJ IDEA 2018.2では、Gradleビルドスクリプトのトップレベルだけでなく、Gradle DSLブロックにもブレークポイントを設定できるようになりました。

構成

プロジェクト構成

IntelliJ IDEA 2018.2では、新しいリポジトリライブラリーを追加するときに、推移的な依存関係の一部を除外できます。ライブラリープロパティーエディターで新しい構成アクションリンクをクリックします。開いている新しい推移的依存関係の構成ダイアログで、現在のプロジェクトに追加する必要がある推移依存を選択します。

IDE設定

IntelliJ IDEA 2018.2では、アクションの検索ダイアログからアクションにショートカットを割り当てることができます。必要なアクションを選択し、Alt+Enterを押して、ショートカットを入力するだけです。

差分ビューアー

テキストソースを比較する

IntelliJ IDEA 2018.2では、空の差分ビューアーを開いて、左右のパネルで比較したいテキストを貼り付けることができます。新しい空白差分ビューアーを開くアクションはアクションの検索ダイアログにあります。

Kotlin

バンドルされたKotlinプラグインがKotlin 1.2.51にアップデートされました

実行可能なKotlinスクラッチファイル

これで、Kotlinスクリプトスクラッチファイルを実行し、エディターで結果を確認することができます。また、Kotlinスクリプトのスクラッチファイルでは、プロジェクト内のコードの宣言を使用できます。

また、プロジェクト・ビューから新しいKotlinスクリプトスクラッチファイルを作成することもできます。

行末のコメントをブロックのコメントに変換し、ブロックのコメントをブロックのコメントに変換します。

これで、行末のコメントをブロックコメントに変換するAlt+Enter経由の便利なインテンションがあります。逆もまた同様です。

未使用延期結果

kotlinx.coroutinesのサポートが改善されました。IDEは未使用のDeferred結果を報告するようになりました。

チェーンをkotlinx.coroutines.experimental.withContextにマージする

IDEは冗長非同期呼び出しを検出し、その直後に待機呼び出しが続き、2つの新しいインテンションが呼び出しチェーンをkotlinx.coroutines.experimental.withContextにマージすることを提案します。

  • async {}.await()withContext(DefaultDispatcher)
  • async(ctx){ }.await()withContext(ctx) { }

Scala

暗黙的な変換と引数の表示が改善されました

Scalaプラグインは、暗黙的な変換と引数をインラインヒントとして表示できるようになりました。これらはナビゲーションと拡張情報をツールチップで提供します。暗黙の引数が明示的に使用されている場合でも、エディターに表示されます。

インラインヒントは、エディターモードで動作します。これを有効にするには、Ctrl + Alt + Shift + “+”を押します。また

  • このショートカットをもう一度押すと、すべての折りたたみが展開されます
  • Ctrl + Alt + Shift + “-”を押してすべての折りたたみを折りたたむか、モードを無効にする

不明瞭であいまいな暗黙の引数のヒント

あいまいで暗黙の暗黙的なパラメータのために、エラーを強調表示する方法を修正しました。さらに、パラメーター情報のツールチップには、明示的および暗黙的な両方のパラメータが表示されます。

暗黙的な引数ポップアップ(WindowsおよびLinuxではmacOS / Ctrl + Shift + PCmd + Shift + P)は、引数のタイプ、構造、および場所を示します。

型注釈とパターンマッチングのための改善された自動補完

Scalaプラグインは、継承Java EnumsScala列挙型を使用した密閉型の完全な一致を生成するようになりました。

パターンマッチングが完了すると、Scalaプラグインは適用可能なクラスとインターフェースの型付きパターンのリストを提示し、タブの自動補完は名前と型を更新します。

組み込みフォーマッタに代わるScalafmt

スタンドアロンプラグインだったScalafmtフォーマッタは、Scalaプラグインの一部になりました。環境設定/設定 | エディター | コード・スタイル | Scalaで設定できます。

セマンティック強調表示

これで、環境設定/設定 | エディター | カラー・スキームの切り替え | Scalaでプロジェクトのセマンティック強調表示を有効にして、関数のパラメータ、ローカル変数、パターンマッチング case 句の変数、またはシーケンスの理解の変数に異なる色を割り当てることができます。次に、関数をスキャンして、変数を追跡し、気を散らすことなく、変数の1つを分離したり、フォーカスを別の変数に切り替えることができます。

JavaScript & TypeScript

Reactコンポーネントの抽出と変換

新しいコンポーネントの抽出リファクタリングを使用して、新しいReactコンポーネントを作成します。JSXコードを既存のレンダリングメソッドから抽出します。新しいインテンションを使用して、Reactクラスコンポーネントを機能コンポーネントに変換することもできます。

未使用コードの検索

新しいコード・カバレッジ機能を使用することで、クライアント側で未使用のJavaScriptコード(またはTypeScriptコード)を見つけることができます。IDEでカバレッジのあるJavaScriptデバッグ設定を開始し、Chromeであなたのアプリとやり取りします。設定をやめ、IntelliJ IDEAはカバレッジレポートをカバレッジツールウィンドウに表示します。ファイルとフォルダーのカバレッジに関する情報がプロジェクト・ビューに表示されます。

Angular CLIとの新しい統合

IntelliJ IDEA 2018.2では、ng addとの統合により、Angularアプリに新しい機能を追加することができます。新規… | Angular依存関係...アクションを使用して、ターミナルを使用せずに ng addを使用してインストールをサポートするライブラリーをインストールします。

Angular schematicsを使用してコードを生成するには、新規… | Angularスケマティック...アクションを使用します。

新しいJavaScriptとTypeScript インテンション

Alt + Enter:インターフェースの実装派生クラスの作成インターフェースまたは抽象クラスのメンバーを実装する'switch' のケースを生成する'for..of' と繰り返すを押すと、多くの新しいJavaScriptとTypeScript インテンションが利用できるようになりました。

Spring 統合

IntelliJ IDEA 2018.2はSpringインテグレーション5.0をサポートします。また、システム内のコンポーネントを視覚化する新しいSpring統合図もあります。新しい図は、XMLまたはJava注釈を使用してアプリケーション用に構成されたゲートウェイ、チャネル、ブリッジなどを示しています。

Spring Boot

Spring ランタイム Bean ダイアグラム

IntelliJ IDEA 2018.2では、新しい図モードオプションを選択し、Spring BootアプリケーションのランタイムBean間の依存関係を視覚化することができます。

アプリケーションを起動し、実行ダッシュボードBeanタブの右ガターにある新しい図モードアイコンをクリックします。IDEは、アプリケーション全体のSpringランタイムBeanダイアグラムを表示します。

実行ダッシュボードからのHTTP要求マッピングへのアクセス

IntelliJ IDEA 2018.2の実行ダッシュボードからのHTTPリクエストマッピングを管理します。アプリケーションを実行した後、マッピングタブから必要なリクエストを選択し、HTTPリクエストをすぐに実行するか、エディターベースのRESTクライアントで開きます。

GETメソッドでは、ブラウザでHTTPリクエストを開くオプションが追加されています。

YAML

YAMLコードフォーマッタ

コード | コードの再フォーマットから、またはWindowsとLinux上のmacOS / Ctrl + Alt + LのショートカットCmd + Alt + Lを使用して、コードの再フォーマットアクションでYAMLコードを再フォーマットすることができます。さらに、環境設定/設定 | エディター | コード・スタイル | YAMLのYAMLコードスタイル設定をカスタマイズすることができます。

よりスマートなYAMLとJSONスキーマ

コードの自動補完は、JSONスキーマファイルを持つYAMLデータ構造にも機能するようになりました。IntelliJ IDEAは自動的にschemastore.orgからスキーマをトレースします。また、必要な場合は、手動でJSONスキーマファイル環境設定/設定 | 言語 & フレームワーク | スキーマおよび DTD | JSON スキーマ・マッピングを追加して設定できます。

データベース・ツール

SQL ログ

コンソール出力を使用して、IntelliJ IDEAが実行するすべてのクエリを表示できます。IDEからのすべてのクエリがテキストファイルに記録されるようになりました。ヘルプ | SQLログを表示する経由でこのファイルを開くことができます。

新しいSQLフォーマッタ

現在、カスタムコード・スタイル・スキームは各データソース専用に使用できます。コード・スタイル・スキームは、データソースプロパティーのオプションタブで割り当てることができます。

ストアドプロシージャの実行

IntelliJ IDEAでは、保存されたOracleおよびPostgreSQLプロシージャを実行できます。プロシージャのコンテキストメニューから実行アクションを選択するか、ソースコードを開くときにツールバーの実行ボタンをクリックして、プロシージャを実行できます。

ソースコードの移行

これで、オブジェクトのソースコードを更新し、オブジェクトをダブルクリックして変更し、コミットをクリックすると、生成されたSQLコードがプレビューされ、ソースコードが更新されます。

Docker

コンポジションノードとコンテナーからのナビゲート

Dockerプラグインを使用すると、作成ノードとコンテナーから対応する作成ファイルとドッカーファイルに移動できます。

Dockerログに単語をラップする

このアップデートでは、Dockerログに単語をラップするための新しいソフトラップを使用アクションが追加されました。新しいアクションは、Dockerツールウィンドウログタブのガターアイコンで利用できます。

新しいコンテキストフォルダーのフィールド

ドッカーファイルのDockerビルドコマンドを実行するためのベースディレクトリーを指定できるようになりました。これを行うには、Docker実行構成で新しいコンテキスト・フォルダーフィールドを使用します。デフォルトでは、コンテキスト・フォルダーフィールドは指定されたドッカーファイルの親フォルダーに設定されます。

ファイルウォッチャープラグイン

グローバルファイルウォッチャー

設定済みのファイル監視をIDE設定に保存して別のプロジェクトで使用できるようになりました。グローバルファイルウォッチャーは以前と同じように1つのプロジェクトだけでなく設定できるようになりました。これは、多くのプロジェクトで作業する開発者のセットアップの冗長性を軽減できます。

2018.1 3月27日

Java

コード補完の機能拡張

ストリームAPIでの補完チェーンはタイプキャスティング認識するようになりました。コード補完は、既存の呼び出しフィルタ(String.class::isInstance)に基づいて補完項目を提案するだけでなく、自動的に型キャストの補完項目を提案することもできます。

データフロー分析

データフロー分析を改善し、"より大きい"と "より小さい"のような変数間の関係を追跡できるようになりました。IDEは、変数が比較されるときに、すべての可能なコードパスで条件が常にtrueまたはfalseであることを検出します。

すでに含まれているのと同じ値に変数を代入しようとすると、IDEから警告が表示されます。これは、冗長なコードを検出してから削除できます。

データフロー解析は、非終了ストリームAPI チェーンで機能するようになりました。

IDEは不変なコレクションの変更についても警告します。

さらに学習する(英語)

欠落した ServiceLoader 宣言

IntelliJ IDEA 2018.1には新しいJava 9 インスペクションとクイックフィックスがあります。IDEは、ServiceLoaderによってロードされたサービスがmodule-info.javaファイルで宣言されていることを確認し、欠落したステートメントをmodule-info.javaファイルに追加するためのクイックフィックスを提供します。

さらに学習する(英語)

不足しているクラスの作成

module-info.javaで言及されている解決されていないクラスの場合、IDEは欠落しているクラスの作成を提案し、エクスポートされていないパッケージも作成します。Java 9で空のパッケージをエクスポートすることはできないため、必要なディレクトリーにクラスを含むパッケージがIDEによって作成されます。

冪等性ボディ検出

IDEは冪等性ボディでwhileループを検出して警告します。ほとんどの場合、これはプログラミングエラーを示し、プログラムがハングアップする可能性があります。

無限ループのブレーク条件をループ条件に移動する

whileループでは、無限ループの最後または初めに条件付きブレークに関する通知を受け取ります。IDEはブレーク条件をループ条件に移すことを提案し、ループを修正するためのクイックフィックスを提供します。通常、条件付きブレークをループ条件に置き換えると、コードがより明確になります。

明示的に冗長なclose()コール

IntelliJ IDEAは、try-with-resourcesブロックの最後に、リソースの明示的に冗長なclose()呼び出しを検出するようになりました。

無限ストリーム検出

IntelliJ IDEAは、短絡していない無限のストリームについて警告します。そのような操作は、例外をスローすることによってのみ完了できます。このようなコードは、無限ループまたはメモリ不足の問題を引き起こす可能性があります。

フィールドが見つからないコンストラクターをコピーする

IntelliJ IDEA 2018.1では、クラスのすべてのフィールドをコピーしないコピーコンストラクターがある場合に通知を受け取ります。IDEは、一時的な修飾子を持つフィールドをコピーする必要がないと見なします。

配列の内容を並べ替える

新しいコンテンツをソートするアクションは配列初期化子とvarargsで利用できます。この新しいアクションは、コンテンツをアルファベット順にソートします。

ユーザー後置補完テンプレート

後置コード補完が改善されました。IDEでは、環境設定 | エディター | 一般 | 後置補完を使用して独自のJavaテンプレートを作成したり、定義済みのJavaテンプレートの一部を編集したり名前を変更したりできます。

インスペクション結果に一部修正

新しい部分的に修正するボタンがインスペクション結果ツールウィンドウの右側のペインに追加されます。選択したスコープ内で起こりうる問題を解決するためのオプションがいくつかある場合に表示されます。提案されているすべてのクイックフィックスは、部分的に修正するボタンのクイックフィックスタイプでグループ分けされています。この新機能により、必要なクイックフィックスを選択したスコープに適用し、影響を受けたすべてのケースを一度に修正することができます。

コード生成におけるテストプレフィックス

IntelliJ IDEAでは、インテンションアクションを使用してテストクラスを生成できます。IntelliJ IDEA 2018.1を使用すると、テストクラステンプレートをカスタマイズし、テストをプレフィックスとしてテストクラスを作成できます。環境設定 | エディター | コード・スタイル | Java | コード生成に移動し、テストクラス名の生成方法を選択します。デフォルトでは、テストを接尾辞としてテストクラスが作成されます。

JUnit 5 @Tag注釈のサポート

IntelliJ IDEA 2018.1はJUnit5 @Tag注釈をサポートするようになりました。これで、タグ付けされたクラスとタグ付きメソッドをテストスコープに含めることができます。実行 / Debug Configurationダイアログのtest kindフィールドで、Tags(JUnit 5)オプションを選択します。ユニークドフィールドを使用して、IDに基づいてテストをフィルタリングします。

JVMデバッガ

例外スロー

IntelliJ IDEA 2018.1には新しい例外スローアクションがあり、コードを変更せずにプログラムの特定の場所から例外をスローすることができます。これは、実行 | 例外スローメニュー、またはデバッグセッション中のフレームコンテキストメニューから利用できます。

スタックトレースをコンソールに記録する

IDEではブレークポイントのスタックトレースをコンソールに出力できるようになりました。スタックトレースオプションは、ブレークポイントダイアログボックスで有効にすることができます。IntelliJ IDEAでは、複数のブレークポイントスタックトレースを同時にコンソールログに記録することができます。

現在のスレッドのスタックトレースをコピーする

フレーム・コンテキスト・メニューから利用可能な新しいスタックのコピーアクションを介して、現在のスレッド・スタック・トレースをコピーできるようになりました。

非同期スタックトレースの注釈

IntelliJ IDEA 2018.1では、非同期スタックトレース機能を拡張し、@Async.予定@Async.Execute注釈を使用してデフォルト設定に含まれていないキャプチャポイントを設定できるようになりました。Mavenアーティファクト(英語)を依存関係として追加するだけです。

Java コンパイラー

環境設定 | ビルド、実行、デプロイ | コンパイラー | Java コンパイラーJava コンパイラーページには、デフォルトで有効になっている新しいクロスコンパイルに--releaseオプションを使用する (Java 9 以降)チェックボックスがあります。Java 9で--source--targetオプションを使用し、同時にJava 9クラスにリンクする必要がある場合、このチェックボックスを無効にすることができます。

ECJコンパイラの特定のバージョンを使用することもできます。使用するコンパイラードロップダウンメニューからEclipseを選択し、選択したコンパイラでjarへのパスを指定します。

エディター

折りたたまれたコードの強調表示

コードで問題が検出された場合は、以前よりも迅速に問題を見つけることができます。IDEは、エラーまたは警告を含む折りたたまれたコード領域を強調表示し、そのブロックの色を検証ステータスに応じて色付けします。

折りたたまれたコード領域を検索結果で強調表示

また、IDEは、現在のファイルを検索するときに一致するものが含まれていると、折りたたまれたコード領域を強調表示します。

インライン外部注釈

IntelliJ IDEAでは、ソースコードの直接注釈が不可能であっても(ライブラリークラス)、外部の注釈でコードに注釈を付けることができます。ソースコードの外に保存されているannotations.xmlファイルに注釈を設定することができます。以前は、IDEは外部注釈付きコードの近くのガターの中に@アイコンしか表示していませんでした。IDEはこれらの外部注釈をコード内にインラインで表示します。

推定注釈ヒント

IntelliJ IDEAでは、@NotNullまたは@Nullable注釈の自動推論をソースコード内で(以前のように推論された注釈の近くのガターアイコンだけでなく)表示できるようになりました。環境設定 | エディター | 一般 | 外観推測された注釈をインラインで表示するチェックボックスを有効にできます。

プロジェクト構成

クラスパスに“provided”依存関係を追加する

アプリケーションSpring Bootの設定では、新しい“Provided”スコープに依存関係を含めるチェックボックスが実行/デバッグ構成に追加されます。あなたのプロジェクトでのスコープの提供の依存関係を持っている場合は、この新しいオプションは有用であろうが、( 提供依存関係がコンテナーによって供給されている)コンテナー内のアプリケーションの両方を実行して依存関係が自動的に提供されていないコンテナー(外)。

Spring Bootアプリケーションの場合、“Provided”スコープに依存関係を含めるオプションはデフォルトで有効になっています。

新しいモジュール名変更...アクション

IntelliJ IDEAを使用すると、複数のモジュールの修飾名を一度に変更できるようになりました。これは、プロジェクト構造ダイアログのコンテキストメニューから、新しいモジュール名を変更...アクションを介して実行されます。

検索および置換

構造検索の強化

IntelliJ IDEA 2018.1では、構造検索を使用して注釈付きメソッドへのメソッド呼び出しを見つけることができます。既存の検索テンプレートから選択することも、独自のテンプレートを作成することもできます。

パス内置換の改善

IntelliJ IDEA 2018.1には、プロジェクト内の置換ダイアログで正規表現置換をプレビューする機能があります。

Kotlin

IDEにバンドルされているKotlinプラグインがKotlin 1.2.30(英語)に更新されました

Kotlinコードをパッケージに貼り付ける

プロジェクトツールウィンドウでは、コードフラグメントを直接パッケージに貼り付けることができ、IDEは貼り付けられたコードで新しいKotlinファイルを作成します。

スコーピング関数呼び出しを変換するインテンション

Kotlinプラグインは現在のスコープの関数呼び出しを聞かせて、お互いに実行するだけでなく、またに適用し、その逆の変換新しいインテンションを提供しています。

Groovy

新しい@CompileStaticリファクタリングアクションに変換

これで、Groovyにコードを保存し、同時に静的コンパイルの恩恵を受けるときに非常に便利な新しいアクションがあります。既存のGroovyコードからの移行時間を大幅に節約するために、この新しいリファクタリングでは、スコープ内のすべてのGroovyクラスに@CompileStatic注釈を使用して注釈を付けます。

この新しいリファクタリングアクションは、コンテキストメニュー リファクタリング | @CompileStatic に変換から利用できます。

さらに学習する(英語)

不要なインポートエイリアス

IntelliJ IDEA 2018.1は、Groovyファイルの不要なインポートエイリアスを報告します。この新しい警告は静的インポートでも機能します。

Scala

インラインヒント

エディターは、パラメータ名、メソッドの結果の型、および変数の型のインラインヒントを表示できるようになりました。また、このようなヒントを表示するときに、設定を簡単にカスタマイズすることもできます。

構造ビューの改善

構造ビューはコードに関するより多くの情報を表示するようになりました。 finalabstract とアクセス修飾子、ネストされた定義、一次コンストラクタータイプ、メンバークラスとしてのケースクラスパラメータなどが表示されます。構造ビューには、継承されたすべてのメンバーを元のクラスで表示するオプションもあります。

リファクタリング: インライン関数のパラメータ

リファクタリングでは、パラメータを使用して関数をインライン展開することができます。実際の値で正しく置換されます。

Android

IntelliJ IDEA 2018.1はAndroid Studio 3.0からの変更をマージし、次の主要な新機能を含む数十の新機能を含みます

レイアウトエディターの改善

レイアウト・エディターが改善されました:新しいツールバーレイアウトとアイコン、コンポーネントツリーのレイアウトの更新、新しいエラーパネルなどがあります。

新しいプロファイリングツール

IntelliJ IDEA 2018.1には、アプリのCPU、メモリ、ネットワークアクティビティのリアルタイムデータを提供する新しいプロファイリングツール群Android プロファイラーが含まれています。

デバイスファイルエクスプローラーツールウィンドウ

新しいデバイスファイルエクスプローラーツールウィンドウは、Androidデバイスまたはエミュレータのファイルおよびディレクトリー構造を表示します。このツールウィンドウを使用して、Androidデバイス上のファイルを表示、コピー、および削除します。表示 | ツール・ウィンドウ | デバイス・ファイル・エクスプローラーからアクセスできます。

インスタントアプリケーションを構築する

IDEは現在、インストールせずに実行できるインスタントアプリ軽量Androidアプリケーションを構築する機能をサポートしています。インスタントアプリの構築を開始するには、インスタントアプリ開発SDKがインストールされていることを確認してください。環境設定 | 外観 & 振る舞い | システム設定 | Android SDKにはどのSDKツールがインストールされているかをSDKタブで確認できます。

Spring Boot

エディターから新しいRESTクライアント経由でHTTPリクエストマッピングにアクセスする

今度は、Spring Boot Webアプリケーションを実行すると、HTTP 要求の受信を処理する@RequestMapping注釈を持つメソッドの新しいアイコンがガターに表示されます。このガターアイコンをクリックすると、拡張子が.httpのスクラッチファイル内のすべてのマッピングが開き、新しいREST クライアントを介してエディターでHTTP 要求が実行されます。

@GetMapping注釈を持つメソッドの場合、ブラウザでマッピングされたURLを開くか、HTTPリクエストエディターでリクエストを開くかを選択できます。

spring-boot-starter-actuatorの依存関係をpom.xmlまたはbuild.gradleファイルに追加する必要があることに注意してください。

アプリケーションコンテキストに登録されたBeanの新しいガターアイコン

IntelliJ IDEAは、実行ダッシュボードBeanタブ(または実行ツール・ウィンドウ)のアプリケーションコンテキストに登録されているすべてのBeanを表示します。この機能を拡張しました。この情報はエディターでも利用できるようになりました。実行時に使用されるBeanの隣に、新しいガターアイコンが表示されます。

これらの新しいガターアイコンをクリックして、依存するBeanに移動します。

バージョン管理

部分的なGitコミット

IntelliJ IDEA 2018.1は部分的なGitコミットをサポートします(git add -p). IDEでは、コードチャンクを変更リストに関連付けることができます。変更リストを作成し、必要なコードチャンクをすべてそこに配置してからコミットします。コードチャンクをコミットに追加するには、変更のコミットダイアログの差分ペインにあるガターのチェックボックスを使用します。

コードチェンジを変更リスト間で移動するには、変更のコミットダイアログの差分ペインのコンテキストメニューから別の変更リストへ移動...アクションを使用します。

または、ガター内の変更マーカーをクリックして、エディターから変更リストにコードチャンクを追加します。

ディレクトリー、モジュール、またはリポジトリによるローカル変更のグループ化の切り替え

IntelliJ IDEA 2018.1を使用すると、ディレクトリー、モジュール、またはリポジトリに従ってグループ化してローカル変更を表示する方法を選択できます。バージョン管理ツール・ウィンドウローカルの変更タブにある新しいグループアイコンを使用してください。必要に応じて、グループ化オプションの1つを選択するか、3つすべてを同時に選択できるようになりました。

コミットハッシュをクリックしてナビゲートする

コミットの詳細ペインのログタブには、参照しているコミットのハッシュが強調表示されるようになりました。コミットハッシュをクリックするだけで、ログタブでそのコミットにジャンプできます。これはGitMercurialで有効です。また、ログタブのコミット詳細ペインが再設計されました

リビジョンタブ拡張の履歴

IntelliJ IDEAでは、ログタブ(Git統合で使用可能)のファイル上でリビジョンの履歴を表示するアクションを呼び出すことにより、ファイルの変更に関する詳細情報を表示することができます。2018.1では、改訂履歴タブを更新しました。これで、はるかに高速に動作します。パフォーマンスの向上に加えて、このタブには、ログタブに似た最新のUIがあります。

リポジトリーのクローン

さらに、GitGitHubリポジトリーのクローンダイアログが1つに統合されました。

GitHubリポジトリの自動補完は、新しいリポジトリーのクローンダイアログでも機能します。Github にログインをクリックしてGitHubアカウントにログインするだけです。

コミットおよびプッシュ... アクションの新しいショートカット

IDEには、変更のコミットダイアログからコミットおよびプッシュ…アクションを実行するための新しい既定のショートカットがあります。Alt + Cmd + K (macOS)またはAlt + Ctrl + K ()を使用してください。

Git ブランチポップアップ

進行中のリベースプロセスがある場合、リベースを中断リベースを続行、およびコミットをスキップアクションがGit ブランチポップアップから利用可能になりました。

ユーザー・インターフェース

新しいドキュメントUI

クイック・ドキュメントのポップアップを更新し、それをより明確かつよりコンパクトにしました: メソッドのパラメータ、型、および戻り値の型に関する情報が、Java、JavaScript、およびTypeScriptで更新されたクイック・ドキュメントポップアップで利用できるようになりました

より良いHiDPIサポート

Windows 8.1(またはそれ以上)でIntelliJ IDEA 2018.1を実行すると、IDEのモニタごとのDPI対応モードが開始され、モニタの小数スケールファクタのサポートが実装されます。以前は、IDEでサポートされていたのは積分スケールファクタだけでした。デフォルトモードに戻すには、VMオプション -Dsun.java2d.uiScale.enabled = false を設定する必要があります

JavaScript & TypeScript

TypeScriptの改善

IntelliJ IDEAは、最新のTypeScript 2.7機能をサポートし、メンバーを実装する動作を改善し、未解決のプロパティーに対して新しいタイプガード付きサラウンドクイックフィックスを追加しました。

新しいVueプロジェクトを作成する

IntelliJ IDEAにVue.js(英語)プラグインをインストールすると、Vueアプリをscaffold するための公式ツールであるVue CLIを使用して、新しいVueプロジェクトを作成できます。Vue CLIをインストールするには、ターミナルでnpm install --g vue-cliを実行します。

Prettier で再フォーマット

IntelliJ IDEAは、Prettier(英語)プラグインを介して意見を述べたコードフォーマッタであるPrettier(英語)をサポートしています。よりきれいなパッケージをインストールした後、新しいPrettier で再フォーマットアクションがIntelliJ IDEAで利用可能になります。Prettierを使用して、選択したコード、ファイル、またはディレクトリー全体をフォーマットすることができます。

Hunspell

Hunspell辞書のサポート

Hunspell辞書サポートを提供するHunspellプラグインは、IntelliJ IDEAと互換性があります。Humspellは単語の単純なリストと比較して、はるかに少ない偽陽性を伴って、はるかに高速かつより正確な誤検出を提供します。

さらに学習する(英語)

Docker

Docker composeの機能拡張

Dockerプラグインは、複数のDocker Composeファイルをサポートし、docker-compose.ymlだけでなくオプションのdocker-compose.override.ymlファイルも考慮します。ベースコンフィギュレーションファイルの直後に、他のオーバーライドファイルと同様にdocker-compose.override.ymlを追加することができます。

Docker composeサービス

Dockerプラグインを使用すると、Docker-compose実行構成でコンフィギュレーションファイルを選択した直後に実行するサービスを選択できます。

このプラグインは、Docker-Compose実行構成を介して配備されたものだけでなく、既存のすべてのプロジェクトを作成するを表示します。

Kubernetes

YAML Kubernetesリソースファイルのサポート

新しいKubernetesプラグインは、v1.5から最近リリースされたv1.9までのKubernetesのリソースファイルをサポートします。新しいプラグインは、ファイル内にこの種のapiVersionやその他のフィールドが存在するかどうかを調べ、存在する場合はKubernetesのリソースファイルと見なします。

さらに学習する(英語)

YAML Kubernetesリソースファイルの完成

Kubernetesに必要なYAML定義ファイルを実際にすばやく作成するために、必要なキーを入力してスマート補完を起動します。新しいプラグインは、以下のすべてのレベルから必要なすべてのキーを自動補完します。

コード補完は現在、YAML Kubernetesのリソースファイルで動作します。Kubernetesプラグインは、リソース内で使用できる正しい値を提供します。

Kubernetesライブテンプレート

Kubernetesプラグインにはライブ・テンプレートが組み込まれており、必要な種類のYAML Kubernetesのリソースファイルをすばやく作成することができます。新しいプラグインにはいくつかの定義済みのKubernetesテンプレートが含まれており、省略形を入力して必要なライブ・テンプレートを呼び出すことができます。

YAML Kubernetesファイルのナビゲーション

ガターアイコンを使用して、ラベル定義とラベルセレクタをすばやく移動できます。

キーと値の両方にラベルに直接一致するものがある場合は、ラベルセレクタからエディター内のラベル定義にジャンプします。

YAML Kubernetesファイル用インスペクション

廃止予定のKubernetesプロパティーを選択すると、Kubernetesプラグインが警告を表示します。

また、適用されたapiVersion種類のフィールドを持つ指定された要素に適用されないプロパティーを使用しようとすると、YAMLファイルの警告が表示されます。

YAML Kubernetesファイルのクイックフィックス

このプラグインは、YAML Kubernetesのリソース定義ファイルにキーがない要素を強調表示し、必要なキーを追加するためのクイックフィックスを提供します。

また、冗長キーについての警告も表示されます。付属のクイックフィックスを使用して、YAML Kubernetesのリソースファイルの重複キーを削除します。

新しいプラグインは、YAML Kubernetesのリソースファイルの編集不可能なキーも検出し、エディターで強調表示します。現在のYAMLファイルからすべてのそのような読み取り専用キーを簡単に削除できる簡単な方法があることに注意してください。

JSON Kubernetesリソースファイルのサポート

新しいプラグインは、JSON スキーマ機能に基づいてJSON Kubernetesのリソースファイルをいくらかサポートします。

コード補完クイック・ドキュメント・ポップアップは、JSON Kubernetesのリソースファイルでも使用できます。

JSON Kubernetes リソース・ファイルのインスペクション

新しいKubernetesプラグインはJSON スキーマに従って現在のキーを検証し、不正なプロパティーや値が使用されたときに警告します。

また、プラグインは必須のプロパティーが不足している要素を強調表示し、追加する必要があるプロパティーについてアドバイスします。

複製されたプロパティーは、JSON Kubernetesファイルでも検出されます。

選択する
あなたのエディション

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、GWT、Vaadin、遊ぶ、Grails、その他フレームワーク ?
データベースツール、SQL
重複の検出?>?