コード補完のエンハンスメント
ストリームAPIの補完で型のキャストを考慮します。型キャスト後のメソッドも補完候補に挙げてくれるようになりました。
データフローアナリシス
データフローアナリシスを改善し、“greater than”(>)や“less than”(<)といった関係も追跡します。条件が常にtrue(またはfalse)な場合を検出してくれます。
変数に既に代入されているのと同じ値を代入しようとする場合も警告します。冗長なコードを排除するのに役立ちます。
末端処理のないストリームAPIチェーンにもデータフローアナリシスが働くようになりました。
また、イミュータブルなコレクションを変更しようとするコードについても警告します。
ServiceLoader宣言の欠如
Java 9 の新しいインスペクションとクイックフィックスを導入しました。module-info.javaファイルに宣言されるServiceLoaderでロードしたサービスをチェックします。欠けているステートメントをmodule-info.java に追加するクイックフィックスも提示します。
まだ存在しないクラスの作成
module-info.javaで解決できないクラスやエクスポートされるパッケージを作成するクイックフィックスを提供します。なおJava 9で空のパッケージはエクスポートできないため、クラスも同時に作成します。
無限ループ内でbreakするコードを条件付きループに変換
無限ループ内の先頭、または末尾で条件付きbreakを行うコードを条件付きループに変更するクイックフィックスを実装しました。多くの場合より明快なコードになります。
冗長な明示的close()呼び出し
try-with-resourcesブロック内の不要で冗長なclose()呼び出しを検出します。
無限のストリームを検出
無限に処理が続く可能性のあるストリームを警告します。この様なストリーム処理は例外を投げなければ止まらず、無限ループやメモリ不足の原因となります。
コピーコンストラクタで不足しているフィールドの検出
コピーコンストラクタなのにコピーしていないフィールドがある場合警告します。
配列の要素をソート
配列のイニシャライザ並びに可変長引数でSort content アクションを提示します。要素を辞書順にソートします。
ユーザー定義のPostfix Completionテンプレート
postfix code completionが改善され、Preferences | Editor | General | Postfix CompletionよりユーザーがJava向けのテンプレートを定義したり、事前に定義されているテンプレートを編集したりリネームしたり出来るようになりました。
インスペクション結果より部分Fix
Fix partially ボタンがInspection Results Tool の右側に実装されました。指定したスコープで修正方法が複数ある場合に現れます。クイックフィックス候補は種類によってグループ化されています。
JUnit 5 @Tag アノテーションサポート
IntelliJ IDEA 2018.1ではJUnit5の @Tag アノテーションをサポートし、タグされたクラスやメソッドをテストスコープに指定できるようになりました。タグはRun/Debu設定ダイアログで指定できます。
JVMデバッガ
IntelliJ IDEA 2018.1ではRun | Throw Exceptionメニューや、デバッグセッションのコンテクストメニューよりコードを変更すること無く、特定の箇所で例外を投げることが出来ます。
スタックトレースをコンソールに出力
ブレークポイント到達時のスタックトレースをコンソールに出力できます。Breakpoints ダイアログのスタックトレースオプションで設定できます。複数のブレークポイントのスタックトレースを同時にコンソールのログで確認できます。
カレントスレッドのスタックトレースをコピー
コンテクストメニューのCopy Stackアクションよりスタックトレースをコピーできます。
非同期スタックトレースのアノテーション
Asyncスタックトレースでは@Async.Scheduleと@Async.Execute アノテーションを使ってキャプチャするポイントを設定出来ます。デフォルトでは含まれないアノテーションなのでMavenの依存を設定する必要があります。
Javaコンパイラ
Preferences | Build, Execution, Deployment | Compiler | Java CompilerのUse –release option for cross-compilation (Java 9 and later) オプションはデフォルトで有効に設定されています。–source と –target をJava 9でJava 9クラス向けにリンクする必要がある場合、無効化してください。
また、特定のバージョンのECJ compilerを使えるようになりました。EclipseをUse Compiler ドロップダウンメニューより選択して、使いたいコンパイラのjarのパスを指定してください。
エディタ
折りたたまれたコードのハイライト
折りたたまれたコード内の問題を見つけやすくなりました。折りたたまれていてもエラーや警告があればハイライトしてくれます。
検索結果で折りたたまれたコードのハイライト
現在のファイル内で折りたたまれた箇所に検索でヒットするものがあればハイライトします。
インライン外部アノテーション
ソースコードがなくても外部ファイル(annotations.xml)によりアノテートできますが、本バージョンよりアノテートがエディタ内で見えるようになりました。
推論アノテーションヒント(Infferred Annotation Hints
自動で推論された@NotNullまたは@Nullableアノテーションがエディタ内でインラインに確認できるようになりました。Preferences | Editor | General | Appearance内のShow inferred annotations inlineより有効化出来ます。
プロジェクト設定
検索と置換
Structural Searchのエンハンスメント
アノテートされたメソッドの呼び出しをStructural Searchで検索できるようになりました。検索テンプレートから、または独自の検索条件を指定することができます。
Kotlin
バンドルバージョンのKotlinプラグインがKotlin 1.2.30になりました。
Kotlinコードをパッケージに渡す
プロジェクトツールウィンドウでパッケージにコードの断片を直接貼り付けられます。新しいKotlinファイルが作成されます。
scoping function呼び出しを変換するインテンション
scoping functionコールをletとrunに、またapplyに変換したり、逆にしたりすることが出来ます。
Groovy
@CompileStaticにコンバートするアクション
Groovyで静的コンパイルの恩恵にあずかる便利な方法ができました。既存のGroovyコードに対して@CompileStaticアノテーションをまとめて付加出来ます。
このアクションはコンテクストメニューのRefactor | Convert to @CompileStaticよりご利用いただけます。
不必要なインポートエイリアス
Groovyファイルの不要なインポートエイリアスを検出してくれます。またstaticインポートに対してもこの警告は働きます。
Scala
インラインヒント
パラメータ名、メソッドの戻り値型、変数型をインラインヒントで表示します。どのヒントを表示/非表示とするかはカスタマイズできます。
Structure Viewの改善
Structure Viewでfinal
, abstract
そしてアクセス修飾子、ネスト定義、プライマリコンストラクタタイプ、ケースクラスパラメータのメンバーなど、コードについてより詳しく表示します。Structure Viewではメンバーのオリジナルクラスを継承まで表示するオプションもあります。
リファクタリング: 関数パラメータのインライン化
ファンクションとパラメータをインライン化できます。
Android
IntelliJ IDEA 2018.1 はInstant Appや新しいレイアウトエディタ、プロファイリングツールなど Android Studio 3.0 の新機能を取り込んでいます。
Spring Boot
HTTPリクエストマッピングをエディタから新しいREST clientでアクセス
Spring Boot webアプリケーションを起動後@RequestMappingアノテーションの横のガター領域に新しいアイコンが現れます。アイコンをクリックすると拡張子が.httpとなるスクラッチファイルが現れ、エディタからHTTPリクエストを自由に操ることができるようになります。
@GetMappingアノテーションについてはブラウザで開くか、HTTP Requestエディタを開くか選べます。
アプリケーションコンテクストで登録されたbeanの新しいガターアイコン
IntelliJ IDEAはRun DashboardまたRunツールウィンドウのBeansタブでアプリケーションコンテクストで登録されたbeanを全て表示します。この機能を拡張し、エディタでも利用出来るようにしました。起動中であればbeanの横のガターアイコンを表示します。ガターアイコンをクリックして依存するbeanへジャンプできます。
バージョン管理
ローカルチェンジのグループ方法のトグル
ローカルチェンジ(コミットされていない変更内要)をグルーピングする方法をディレクトリ、モジュール、またはリポジトリに切り替えられます。
コミットハッシュからのナビゲート
コミット詳細ペイン内のLogタブでコミットハッシュをハイライトしています。クリックすると当該コミットにジャンプすることが出来ます。これはGitとMercurialの両方で可能です。
リビジョンタブの履歴表示の改善
ファイル変更の詳細情報をLogタブのShow History for a Revisionアクションで確認できます。 またHistory for revisionを改善してパフォーマンスが大変向上しました。
リポジトリのクローン
Clone RepositoryダイアログはGitとGitHubで共通のUIになりました。
GitHubのリポジトリの自動補完はClone Repositoryダイアログでも働きます。補完を働かせるにはLog in to GitHubをクリックしてGitHubアカウントでログインしてください。
Git ブランチポップアップ
rebase中にGit ブランチポップアップにAbort Rebase、Continue Rebase、Skip Commitアクションが表示されるようになりました。
ユーザーインターフェース
新しいドキュメンテーションUI
ドキュメンテーションポップアップがコンパクトに、ライトウェイトになりました!JavaScriptとTypeScriptでメソッドのパラメータ、型、戻り値がよりはっきりと、一貫性のある表示になりました。
JavaScript & TypeScript
TypeScriptの改善
最新のTypeScript 2.7サポートに加え、Implement Membersアクションや解決されていないプロパティのSurround with type guard クイックフィックスを追加しました。
Hunspell
Hunspell辞書サポート
HunspellプラグインがIntelliJ IDEAとコンパチブルになりました。Hunspellはより沢山の単語リストがあり、高速で、かつ誤検出が少なくなります。
Docker
Kubernetes
YAML Kubernetesリソースファイルサポート
Kubernetes プラグインはKubernetes resource ファイルv1.5から最近リリースされたv1.9をサポートします。新しいプラグインはapiVersion を初めとするファイル内のフィールドを確認し、Kubernetes resourceファイルだと識別します。
YAML Kubernetesリソースファイルの補完
KubernetesのYAMLファイルを素早く書き上げられるよう、Smart Completionを活用してください。書いているレベルに応じて必要なキーを自動補完してくれます。
YAML Kubernetes resourceファイルでもコード補完が働きます。プラグインはリソース内で使える適切な値をサジェストします。
Kubernetesライブテンプレート
Kubernetes プラグインはデフォルトでLive Template を用意しており、YAML Kubernetes resource ファイルを素早く書けます。
YAML Kubernetesファイルのナビゲーション
ガターアイコンを使ってラベル定義間とラベルセレクタ間を素早くジャンプできます。
ラベルセレクタからエディタ内でJump from a label selector to a label definition inside the editor if there is a direct match for a label, both for the key and for the value.
YAML Kubernetesファイルのインスペクション
またYAMLファイルで指定したapiVersionとkindで適用出来ないプロパティを使おうとしていると警告します。
YAML Kubernetes resource定義で不足しているキーがあればそれを追加するクイックフィックスを提供します。
また重複するキーがあれば警告し、クイックフィックスで削除出来ます。
またYAML Kubernetes resource ファイルで編集できないキーを検出してハイライトし、削除するクイックフィックスを提供します。
JSON Kubernetes resource ファイルもJSON schema を使ってサポートします。
コード補完とQuick Documentation Popup も JSON Kubernetes resource ファイルで利用できます。
JSON Kubernetes resourceファイルのインスペクション
KubernetesプラグインはJSON スキーマを使ってキーを検証し、不正なプロパティや値を使っていれば警告します。
また、不足しているプロパティがあれば追加するようアドバイスします。
もちろん重複しているプロパティも検出します。
紹介プログラムにより新規、他社より移行のお客様は最大1,000円割引。既存のお客様は紹介件数に応じて割引となります。
コマーシャルライセンス年間サブスクリプション 新規 | |
パーソナル 年間サブスクリプション 新規 |