IntelliJ IDEA の新機能

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つのプロジェクトだけでなく設定できるようになりました。これは、多くのプロジェクトで作業する開発者のセットアップの冗長性を軽減できます。

ライセンス有償のオープンソース、Apache 2.0
Java、Kotlin、Groovy、Scala
Android ?
Maven、Gradle、SBT
Git、SVN、Mercurial
Perforce
JavaScript、TypeScript ?
Java EE、Spring、遊び、Grails、その他フレームワーク ?
データベースツール、SQL
重複を検出しています ">?
エディションを比較する(英語)