IntelliJ IDEA の新機能
2019.7月24日

Java

Java 13

IntelliJ IDEAは新しいJava 13 プレビュー機能を歓迎する準備をしています。IDEでは、更新されたswitch式とその新しい構文がサポートされています。Java13で複数行のブロックから値を返す必要がある場合は、breakではなくyieldキーワードを使用できます。テキストブロックのサポートも追加され、HTMLやSQLなど、長い複数行のテキストブロックをソースコードに埋め込むことができます。この機能を使用すると、文字列に貼り付けるときに値をエスケープするか、テキストブロックに貼り付けるときにエスケープを除外して、2つの形式に貼り付けることができます。

複数の終了ポイントを持つメソッドのリファクタリング

複数の戻り値を持つメソッドを単一の終了ポイントに変換してインラインメソッドのリファクタリングの準備をするために実行できる新しいインテンションを追加しました。メソッドには、複数のreturnステートメントを定義することによって複数の終了ポイントを含めることができます。IntelliJ IDEAでそのようなメソッドをインライン化すると、そのメソッドを終了するために単一のreturnステートメントの形式でただ1つの終了ポイントを定義するように変更することができます。このような方法では、1つのパスをたどり、出口を探す必要がないため、混乱が少なくなります。

「定数条件と例外」が問題の原因を特定

インスペクションの古き良き '定数条件と例外' に、'原因を見つける' という新しいアクションを追加しました。考えられる課題や実際の課題についてユーザーに通知するだけでなく、インスペクションは疑わしいコードにナビゲートします。ファイルを読み込み、必要な行を探す必要はもうありません。

変更されたインスペクションでコードから重複を除去Ultimate

Java用の ‘コードフラグメントの重複’ インスペクションと他の言語用の ‘重複を見つける’ ツールを統合して、両方の長所を組み合わせた ‘コードフラグメントの重複’ と呼ばれる強力な新しいインスペクションを提供します。Java以外の多くの言語をサポートしています。

更新されたポップアップでタイプミスしたパターンの修正を提案

IntelliJ IDEA 2019.2では、コード補完ポップアップの外観を変更し、さらに便利にしました。今後、補完は誤ってタイプされたパターンを認識し、可能性のある修正を提案します。そのため、偶然に "retru" とタイプした場合、IDEはそれを "return" で置き換えることを提案します。

構造検索で出現箇所を瞬時に表示

構造検索は、プロジェクト内の特定のコードパターンを検索できる強力な機能です。IntelliJ IDEAは、入力時にエディターでの検索に一致する文字列を強調表示します。さらに、IDEでは構造検索ダイアログの編集エリアにフィルタ値が表示されます。パターンを試している間、検索を継続的に再実行する必要はもうありません。

プロファイリング・ツール

IntelliJ IDEAはプロファイリングツールを提供Ultimate

IntelliJ IDEAは、Windows、macOS、およびLinux上のJava Flight Recorderと統合されているため、IDE内部でアプリケーションのパフォーマンスを分析できます。

macOSとLinuxのユーザーも非同期プロファイラーを楽しむことができます。このツールは、メモリとCPUがアプリケーションにどのように割り当てられているかについてのすべてを示してくれるため、簡単に親友になれます。

サービス

サービスツールウィンドウ: すべての接続、構成などに対応した単一のコントロールパネル

これで、コントロールするために必要なものがすべて1つのビューにまとめられました。まったく新しいサービスツールウィンドウは最も有用なツールを凝縮してカプセル化します:RunDashboard、データベースコンソール、Docker、およびアプリケーションサーバービュー。また、接続、実行およびデバッグ構成、アプリケーションサーバー、データベースコンソールなどのための単一の表示および制御点も提供されます。データベースの場合、ツールウィンドウにはクエリを実行している各接続の期間を表示するクエリライブタイマーがあります。

実行中のDockerコンテナーでファイルシステムを表示できます

IntelliJ IDEA 2019.2では、サービスツールウィンドウのDockerノードのFilesタブで、実行中のDockerコンテナーのファイルシステムを表示できます。

パフォーマンス

このリリースでは、ファイルシステムのリフレッシュに対するパフォーマンスとUIの応答性が向上し、ファイルシステムの変更処理による遅延がほとんどなくなりました。起動時のパフォーマンスを最適化するために多くの努力を重ねてきました。そのため、IDEを起動したらすぐにブーストを感じるはずです。

エディター

各ディレクトリーに独自のコードスタイルを保持

フォルダーごとに個別のコードスタイルを設定できるようになりました。試してみてはいかがですか? EditorConfigファイルをモジュールまたはパッケージのルートディレクトリーに配置すれば、準備は完了です。

IDEは、EditorConfigファイルを介してすべてのコードスタイル設定を管理できるようになりました。すべての調整がプレビューに表示されるようになったため、表示を確認せずに設定する状態から解放されます。

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

20 以上の言語で構文強調表示が利用可能

IntelliJ IDEAは現在TextMateエディターと統合されており、20種類以上のプログラミング言語ですぐに使用可能な構文の強調表示を提供します。他の言語の強調表示を追加する必要がある場合は、その言語のTextMateバンドルをダウンロードしてIDEにインポートするだけです。

キャレットを次の単語に移動アクションの追加オプション

キャレットを配置する場所を、現在の単語の末尾または次の単語の先頭に選択できるようになりました。設定/環境設定 | エディター | 一般 のキャレットの移動オプションで、最適な動作を選択します。

Tabキーで括弧または引用符の外側に移動

より速くタイプするのを手助けするためのもう一つの特徴は今すぐに利用できる可能にされます:Tabキーはあなたを閉じている括弧か引用符の外にあなたをナビゲートします。この機能は、入力中にのみ機能します。

このオプションを無効にするには、設定/環境設定 | エディター | 一般 | スマート・キー に移動し、'入力時にタブで閉じ括弧/引用符の外側にジャンプする' チェックボックスの選択を解除します。

選択コードを自動的に引用符または中括弧で囲む

技術的には新しいものではありませんが、この便利な機能はデフォルトで有効になっています。ブレースや引用符を入力すると、IntelliJ IDEAは自動的に選択したコードをブレースや引用符で囲みます。

この機能が気に入らない場合は、設定/環境設定 | エディター | 一般 | スマート・キー を選択し、'引用符または中括弧入力時に選択範囲を囲む' チェックボックスをオフにします。

macOSに新しいデフォルトのキーマップが追加

macOSのデフォルトのキーマップをMac OS XからmacOS、10.5+に変更しました。キーマップの名前も変更しました。Mac OS X 10.5は、macOSのDefaultと呼ばれ、古いMac OS XはIntelliJ IDEA Classicになりました。

IntelliJ IDEAは大きなファイルをスムーズに操作する

IntelliJ IDEAで25MBを超えるファイルを簡単に開いて検索することができます。これは、ログファイルを扱う人にとっては、非常に素晴らしい改善です。

外観

インスペクションポップアップは最も関連のある修正を表示します

このリリースでは、コードインスペクションで提案されている修正がさらに早くなりました。今インスペクションポップアップは問題を説明するだけでなく、すぐにあなたに最も関連のある解決策を示します。修正がうまくいく場合はAlt + Shift + Enterを押すか、Alt + Enterショートカットを使用してリストから別のオプションを選択します。

新しくなった新規クラスダイアログ

新規クラスダイアログが新しくなりました。さらに、作成できるクラスの種類をプレビューできるようになりました。

新しい洗練されたウィンドウ UI の外観

Windows 10では、IDEは新しいモダンなボーダレスな外観になりました。

プロジェクトビューにファイルサイズと変更時刻が表示されるようになりました

新しいオプションを使用すると、プロジェクトで何が起こっているのかを把握しやすくなり、プロジェクトビューツリーのすべての項目のサイズと変更のタイムスタンプが表示されます。この機能を有効にするには、表示メニューから表示を選択します。外観|ツリービューの説明

統一されたエディターとデバッガのタブの外観

エディターとデバッガのタブのデザインが、LightテーマとDarculaテーマで同じように見えるように変更されました。Lightテーマでは、タブの高さとツールウィンドウヘッダーの高さを揃えました。また、タブにある白い線も削除して、見やすくしました。

使用箇所の検索ツールバーがよりエレガントに

人気のないアイコンをツールバーから削除して視覚的に見やすくする傾向を継続しながら、使用箇所の検索ツールウィンドウのツールバーを縮小しました。いくつかのアイコンはグループ化され、いくつかは完全に消えています。

Gradle

Gradleの新しい依存関係ダイアグラムUltimate

このリリースでは、待望のGradle依存関係図を追加しました。Gradleツールウィンドウのツールバーの依存関係の表示アイコンをクリックするか、Alt + Shift + Ctrl + U / Alt + Shift + Cmd + Uを押すだけです。このダイアグラムからノードを選択してそれらの隣接ノードを調べ、ノードをクリックしてそれらがルートにどのように接続されているかを確認します。

build.gradleファイルに追加されたコーディング支援機能

バージョン2019.2からは、build.gradleファイルをより簡単に編集できます。IntelliJ IDEAはタスク宣言の構文とさまざまな依存関係の表記法をサポートし、コード補完を依存関係ブロックと依存関係設定クロージャの中に提供します。

改善されたGradleタスクの出力

Gradle操作のステータスツリーと出力コンソールは、同期/構築プロセスを監視するのに役立つように並べて表示されます。これにより、より詳細でおなじみのGradle出力情報が得られます。

より簡単になったGradle設定作業

いくつかのオプションを廃止することでGradle設定ダイアログを簡素化しました。さらに、Gradleプロジェクトを開く、インポートする、または作成すると、IntelliJ IDEAが自動的に設定を構成します。

Maven

Maven同期出力をビルドツールウィンドウに表示

IntelliJ IDEAは、Mavenのビルド出力と共に、ビルドツールウィンドウにMavenのインポートプロセスをレポートするようになりました。これにより、進捗状況やエラー報告がより見やすくなり、ナビゲーションが簡単になり、Gradle / Mavenエクスペリエンスの一貫性が高まります。

すぐに使える Maven 依存関係補完

pom.xml内の依存関係のコード補完は、そのまま使用できます。以前は、Mavenリポジトリのインデックス作成をトリガした場合にのみ機能しました。

バージョン管理

ネイティブ無視ファイル処理が完全にサポートされました

このリリースでは、Git用のネイティブ無視ファイル処理を追加しました。これ以降、ネイティブ無視ファイル処理は、サポートされているすべてのバージョン管理システムでそのまま使用できます。

設定の.gitignoreリストに手動でファイルを追加する必要はもうありません。プロジェクトツリーまたはVCSツールウィンドウのローカルの変更タブから無視されたファイルのリストにファイルを追加するようになりました。Git ignoreおよびHG ignoreのサポートを提供するために使用されていた.ignoreプラグインは、主な機能がプラットフォームの一部であるため、VCS ignoreの高度な機能のみを提供するようになりました。

ローカルの変更タブからファイルをコミットする

IntelliJ IDEA 2019.2はGitまたはMercurialを使用するプロジェクトに大きな変化をもたらします。ファイルをコミットするために別のダイアログを開く必要はありません。これで、バージョン管理ツールウィンドウのローカル変更タブからファイルをコミットできます。コミットダイアログでIDEの他の部分がブロックされることはないため、変更したファイルを確認し、必要に応じて変更を加えることができます。

実行するには、設定/環境設定 | バージョン管理 | コミット・ダイアログ で 'ダイアログを表示せずにローカル変更からコミットする' チェックボックスを選択します。

ファイルのコミットを促すメッセージを表示するスマートな VCS 統合

IntelliJ IDEA 2019.2は、最近修正したファイルと一緒に以前にコミットしたファイルを修正するようにあなたに思い出させます。

外部から VCS にコピーしたファイルの追加を提案

IntelliJ IDEAは、IDEの外部からプロジェクトにコピーされたファイル、コンソールで作成されたファイル、またはコードの実行中に作成されたファイルをバージョン管理に追加するように求めます。そのようなファイルを自動的に追加するようにIDEを設定することもできます。

VCS ログタブで表示する情報を選択可能

これで、VCS Logタブに表示したい列を選択できます。目のアイコンをクリックして列を表示を選択し、表示する列を選択します(作成者、日付、またはコミットハッシュ)。

UI から中止可能な Git Merge と Cherry-Pick

これで、Git MergeやCherry-Pickを中止するためにターミナルに切り替える必要がなくなりました。プロセスが実行されている間、ブランチポップアップにAbort Merge / Abort Cherry-pickオプションが表示されます。

フォルダーの履歴表示で Git ログタブに結果を表示

プロジェクトの変更を簡単に追跡できます。Gitを使うと|プロジェクトビューで選択したディレクトリーの履歴の表示アクションを実行すると、IDEは結果をそれぞれのパスでフィルタ処理された「ログ」タブに表示します。

複数のフォルダーに加えられた変更を一度に確認することもできます。更新を確認したいフォルダーを右クリックし、Git、Gitの順に選択します。履歴を表示します。

プロジェクトの更新後に情報を更新アクションをログタブとして表示

これまでは、「プロジェクトの更新」および「プル」アクションを使用すると、バージョン管理ツールウィンドウの「情報を更新」タブに更新されたファイルのツリーが表示されていました。v2019.2では、更新情報は更新中に受信したコミットのリストとして表示されます。「情報を更新」タブは「ログ」タブのようになりました。

ブランチの比較がより便利に

ブランチポップアップの現在と比較アクションは、現在と比較と作業ツリーと差分を表示の2つのアクションに分かれています。更新された現在と比較アクションはコミットの違いを表示するようになりましたが、新しい作業ツリーとの差分を表示アクションはファイルの差分を表示します。

変更されたコードを持つメソッドが差分に表示されるようになりました

“ 変更されていないフラグメントを縮小”モードの間、Diffは現在のコードのチャンクを修正する方法を表示します。変化を見るだけでなく、状況を理解することも容易になります。

Kotlin

IntelliJ IDEAにバンドルされているKotlinプラグインがv1.3.41にアップデートされました。

Kotlin 用 JPA のコーディング支援機能強化Ultimate

IntelliJ IDEA 2019.2は、Kotlin用のJPAコーディング支援機能を幅広く備えています。これで、Generate Kotlin Entitiesスクリプトを使用して、選択したテーブルにKotlinエンティティクラスを生成できます。スクリプトは簡単にカスタマイズできます。スクリプトディレクトリーに移動し、特定のタスクを解決するためにスクリプトを修正してスクリプトを試してください。さらに、「宣言へ移動」アクション(Cmd + B / Ctrl + B)を使用して、IDEで対応する列または表に移動できます。

「非同期スタックトレース」は最後の中断点での変数の状態を示します

中断関数またはラムダ内のブレークポイントで停止すると、「非同期スタックトレース」は最後の中断点での変数の状態を表示するようになりました。現在のコルーチンの最後の中断点から始まる中断関数のスタック全体のトレースを参照して、変数の格納値を確認できます。これは、現在の執行時点にどのように到達したかを理解できます。

スクラッチファイルの対話モードはその場で変化を示します

ご存じのとおり、Kotlinでは、スクラッチファイル(英語)を使用してコードベースで小さな実験を実行できます。これで、明示的にスクリプトを再実行する必要なしに、特定のタイムアウト後にその場で結果を表示する対話式モードを使用できます。

TODOリストにKotlinの複数行コメントを表示

プロジェクトのTODOリストをどのくらいの頻度でチェックしますか。KotlinでIntelliJ IDEAが複数行のTODOコメントを正しく強調表示し、TODOツールウィンドウにリストとして表示するようになりました。

誤った外部注釈の警告

あなたがJavaのための外部のnull化可能性注釈を使うなら、IDEは今Kotlinから注釈を付けられたJavaメソッドの誤った用法についてあなたに警告することができます。これは純粋にIDEの機能です。対応するコードはKotlinコンパイラによって警告なしにコンパイルされ、IDEは追加の警告を表示します。

Groovy

Groovy 3.0の構文とネストしたコードブロックのサポートを拡張しました。さらに、IDEはクロージャ式の中括弧と矢印をデフォルトで太字にしているため、コードの構造を理解しやすく、コードブロックとクロージャを区別することができます。

パラメータの型が明示的に定義されていないGroovyメソッドのメソッド宣言で、すべてのパラメータに明示的な型を追加するクイックフィックスを楽しむこともできます。

Scala

型の不一致を強調する新しい方法

複数の行にまたがる可能性がある赤い波線によるタイプの不一致エラーに下線を引く代わりに、IntelliJ IDEAはタイプ割り当てヒントを表示し、予想されるタイプと一致しない部分を強調表示します。

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

型のミスマッチツールチップの差分表示

タイプミスマッチのツールチップは、きめ細かく、垂直方向に揃えられ、ペアワイズ比較が可能になりました。このアルゴリズムでは、構文糖、サブタイプ、分散、およびその他のトリッキーなものを考慮に入れています。

インタラクティブな型ヒント

型注釈ヒントは、動的折りたたみ、ツールチップ、ナビゲーション、および中括弧のマッチングをサポートするようになりました。型ヒントは、本当に必要なときにだけ表示されるようになりました。

入力時に式を折り返し/折り返し解除

以前は、インテンションを使用して波括弧内で式をラップ(またはラップ解除)する必要がありました。これで、IntelliJ IDEAはタイプしたときにそれを自動的に行うことができます。

冗長なコードが目立たなくなりました

IntelliJ IDEAは未使用のインポートまたは到達不能コードを「冗長」(カラースキームで定義されているように)マークするために常にグレーを使用していました。しかし、他の冗長なコードが「一般的な警告またはエラー」として強調されていたため、コードが汚染され、実際のエラーが隠されていました。今度は灰色を使用してすべての冗長コードを一様に色付けします。そのため、強調表示は目立たなくなります。

改善されたコード補完

case句全体を完成させることができます(これまでは、case句でパターンを完成させることしかできませんでした)。補完は、一致ステートメントだけでなく、高階関数にも機能します。

強化された言語インジェクションUltimate

これで、余白のある複数行の文字列リテラルに言語を挿入できます。

ビルドサーバープロトコルの完全サポート

IntelliJ IDEAは、ビルドツール(サーバー)とIDE(クライアント)が互いに通信する方法を標準化するビルドサーバープロトコル(BSP)をサポートするようになりました。しばらくの間、BSPサポートは実験的な機能でしたが、現在はIDEの第一級オブジェクトです。

JavaScript & TypeScript

新しいインテンションは追加の変数を別の構造分割で置き換えますUltimate

新しい「非構造化への伝播」インテンション(Alt + Enter)を使用すると、可能な限り余分な変数を別の非構造化に置き換えることができます。分割を完全に削除するには、「分割をプロパティーまたはインデックスアクセスに置き換える」というインテンションアクションを使用します。IDEは、条件内のブール式に不要な部分がいくつか含まれている場合は警告を表示し、それを簡略化するよう提案します。

JavaScriptの名前変更リファクタリングが強化されましたUltimate

JavaScriptまたはTypeScriptファイル内のシンボルの名前を変更すると、IDEは動的な使用箇所をグループ化し、デフォルトでリファクタリングから除外します。これにより、リファクタリングがより正確になり、リファクタリングプレビューツールウィンドウで何を正確に名前変更するかをより詳細に制御できます。

Vue.jsのサポートが改善され、完成度が向上しましたUltimate

Vue.jsアプリケーションでVuetifyまたはBootstrapVueを使用しますか? IDEでこれらのライブラリーを操作するための新しいアプローチを採用しました。これからは、コンポーネント用のコード補完と、これらおよび他のいくつかのVueコンポーネントライブラリーからのpropsがより正確になります。

Node.JSがIntelliJ IDEA UltimateにバンドルされましたUltimate

Node.JSプラグインはIntelliJ IDEA Ultimateと共にプレインストールされています。

データベース・ツール

フルテキスト検索で包括的な結果を提供Ultimate

正確な場所がわからなくても、必要なデータを検索できます。検索するデータソースまたはデータソースのグループを右クリックして全文検索を選択するか、Ctrl + Alt + Shift + F / Cmd + Alt + Shift + Fを押します。

結果がフィルタリングされて、データが見つかった文字列だけが表示されます。列が多すぎてデータを見つけることができない場合は、データエディターのテキスト検索(Ctrl / Cmd + F)を使用してください。

検索とナビゲーションで利用可能なデータソースによるフィルタリングUltimate

GoToポップアップでオブジェクトを見つけることは、特に類似したアイテムが多すぎる場合は特に簡単ではありません。IntelliJ IDEA 2019.2では、検索する場所を選択できます。特定のデータソース内、またはソースのグループ内のいずれかです。パス内検索でも同じことが言えます。他のオブジェクトのDDLの中のソースコードを探しているなら、これは非常に役に立ちます。

JVMデバッガ

ステップインする方法の選択肢を提供

複数のメソッド呼び出しを使用して1行で「ステップイン」する場合は、ステップインするメソッド、ラムダ、またはメソッド参照を選択できます。

シェルスクリプト

IntelliJ IDEAのシェルスクリプトサポート導入

このリリースでは、単語やパスの補完、クイックドキュメント、さらにはテキストの名前変更など、シェルスクリプトの豊富な編集サポートが提供されています。シェルスクリプトを実行するための実行設定を作成することもできます - それはストーリーの半分に過ぎません。さらに高度なシェルスクリプトサポートのために、いくつかの外部ツールをIntelliJ IDEAに統合しました。今後は、シェルチェック(英語)を使用してスクリプト内のエラーを検出して修正し、Shfmt(英語)を使用してシェルスクリプトを正しくフォーマットし、説明シェル(英語)を使用して必要なコマンドの詳細な説明を取得することができます。

HTTP クライアント

HTTPクライアントのcURL要求をサポートUltimate

これで、cURL要求文字列をHTTPクライアントに貼り付けて、IDEでそれを自動的に完全な要求に変換することができます。

HTTP クライアントのクッキー保持Ultimate

サービスに対する認証を1回要求し、その後の要求で追加の権限を必要とするエンドポイントに電話をかけたいとします。以前は、最初の応答からクッキーを失うことになりました。しかし、もう必要はありません。IDEはすべてのCookieをあなたのために保持し、次のリクエストで転送します。

ターミナル

ターミナルのより良い行のソフトラップ

以前は、ターミナルは行を折り返すときに時折リンクを切ることがあり、一部の行は不適切に折り返されていました。長い行を出力するコマンドを実行すると、ターミナルはそれをやさしくソフトラップし、すべてのリンクを動作状態に保ちます。折り返したリンクをクリックすると、すぐにブラウザに送信されます。

コマンドラインからのファイルマージの終了コード

IntelliJ IDEAは、ファイルをマージするためのコマンドラインツールとして使用されたときに適切な終了コードを返すようになりました。これで、IntelliJ IDEAを任意のカスタムワークフローのマージツールとして使用できます。ブロック形式でターミナルからファイルを編集するための--waitコマンドラインオプションもサポートしています。

プラグイン

プラグインページがより人間工学的になりました

IDEはすぐに「設定/環境設定」ダイアログの「プラグイン」ページにプラグインの詳細を表示するため、各プラグインを1つずつクリックする必要はありません。「アップデート」タブは削除され、「アップデート」ボタンは「インストール済み」タブのプラグイン名の近くに配置されています。歯車アイコンに新しいオプションが追加されます。ダウンロードしたプラグインを一度に無効または有効にすることができます。たくさんのクリックを節約して、より重要なことに使います。

Kubernetes

KubernetesプラグインがKustomizeをサポートUltimate

Kubernetesプラグインを含むIntelliJ IDEA 2019.2の新しいバージョンでは、Kustomizeリソースファイル用の多くのインスペクションと同様に、キーとパスを補完することでKustomizeの編集サポートを提供します。

名前の変更のリファクタリングは、Kustomizeリソースファイルのファイルとディレクトリーの名前を変更するために機能するようになりました。Ctrl + B / Cmd + Bショートカットで、Kustomizeリソースファイルで宣言されたパスからプロジェクトツールウィンドウの関連するパッケージまたはファイルにジャンプできます。

URLを使用して外部リソースを追加することができますUltimate

URLを使用して、外部ソースからカスタム・リソース定義 (クリッド) 仕様をロードできるようになりました。仕様を追加するには、設定/環境設定 | 言語 & フレームワーク | Kubernetes に移動し、CRD 仕様に URL を追加します。(以前は、ローカルファイルからCRDを追加することが可能でした。)

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

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
重複を検出しています ">?