JetBrainsは、同社のフラグシッププロダクトであるIntelliJ IDEAのバージョン2018.3をリリースした。このバージョンには、Java 12のサポート、Spring Bootの拡張、マルチラインTODOコメントのサポートなど、一連の新機能が提供されている。
Java
次期バージョンであるJava 12が初めてサポートされた。Raw Stringリテラル(JEP 326)のプレビュー、複数行の文字列リテラルとRaw Stringリテラルの相互変換、行頭と行末の冗長なバッククォート(`)の検出、Raw Stringリテラル内の正規表現の認識、Raw Stringリテラルとしての文字列のペーストなどが可能だ。
(イメージはjetbrains.comより引用)
Java 12用のコーディングアシスタントを利用するには、Project Structure > Project で言語レベルを“12(Preview) - Switch expression, raw string literals”に設定すればよい。ただし、Java 12がまだリリースされていない点には注意が必要だ。JCP下で開発された早期ドラフト仕様の実装が、テストと評価に目的を限定して公開されているが、現在の実装はJCPのどの仕様とも互換性がない。
IntelliJ IDEAで従来よりも複雑な重複検出が可能になった。diff ビューアで重複を表示し、サイドバイサイドで比較することができる。
今回のバージョンには、他にも次のような改善点が含まれている。
- Java Stream APIでの
min
コール前の不要なsorted
コールの使用を検出し、冗長なsorted
コールを削除するクイックフィックス。 - 後続の条件でカバーできる不要な条件を検出するとともに、このような冗長な条件をクイックフィックスで削除する“Condition is covered by further condition”というインスペクションが追加された。
- @SuppressWarningアノテーションの冗長な定義の検出、および // noinspection行コメントと /** noinspection */ JavaDocコメント。
エディタ
IntelliJ IDEA 2018.3では、複数行のTODOコメントのサポートが追加されている。すべてのTODOコメント行がハイライト表示され、TODOツールウィンドウに列挙される。
(イメージはjetbrains.comより引用)
インデントステータスバーが新たに設けられて、現在のファイルのインデントのサイズが表示されるようになった。ファイルが現在の設定にマッチしない場合は、インデントビューにアスタリスクが追加される。
その他のエディタの改善点は次のようなものだ。
- 特定のファイルやフォルダのコードをフォーマッティング対象外にするためのスコープの作成。
- EditorConfigファイルの構文強調表示とコード補完が追加された。
JavaScript / Typescript
JavaScriptとTypeScriptにも改良が加えられている。プロジェクト内のシンボル定義に加えて、プロジェクトの依存関係からのシンボルについてもimportを自動で追加できるようになった。ESモジュールとして記述されたソースがパッケージに含まれているか、あるいはパッケージ内にTypeScript定義ファイルがあれば、この機能が有効になる。
Node.js 10.12以降か、あるいは --experimental-workerフラグを使用している開発者は、Node.jsワーカをデバッグできるようになった。ワーカスレッドAPIのコード補完も提供されている。
Angularのサポート、コード補完、変数の定義位置へのジャンプ、パイプや非同期パイプも改善された。テンプレート参照変数の正確性も向上している。JetBrainsによれば、AngularとAngularJSのサポートに関して、50以上の既知の問題が修正されている。
Spring
Spring Boot 2.1が完全にサポートされるようになった。 @DataSizeでアノテートされた設定値は、@DataSizeUnitのデフォルトが指定されていればそれを参照して検証される。
@ConfigurationPropertiesを使用する場合に最も多いバグを発見するために、新しいインスペクションが追加された。例えば、POJOプロパティの重複が強調表示されるようになり、コンフィギュレーションの更新が必要であることが分かりやすくなった。
(イメージはblog.jetbrains.comより引用)
Spring Initializrもいくつか改良されている。Spring Initializrを使用してプロジェクトを作成すると、IntelliJ IDEAは、選択されたテクノロジに対するサポートの存在を確認した上で、適切なプラグインのインストールあるいは有効化するように提案する。
Kotlinを使っている開発者には、JPAとSpring Data Supportの改善による恩恵がある。IntelliJ IDEAは、Kotlinで書かれたSprint Dataインターフェースのエンティティを理解できるようになった。メソッド名の補完やパラメータのクイックフィックスも提供される。
DockerとKubernetes
DockerプラグインがIDEにバンドルされた。
KubernetesプラグインでのHelmリソースファイルのサポートは、次のように改善されている。
- コーディング支援。
- Helmテンプレートのプレビューが差分で表示されるようになり、コンテキストメニューに新設された Kubernetes | Helm Template アクションを選択するだけでよくなった。
- ‘Helm Update Dependencies’ アクションが追加され、tgz形式の外部依存関係ファイルのダウンロードとプロジェクトツリーへの表示が可能になった。
詳細な情報とすべての変更に関しては、What’s Newのページで確認することができる。
この記事を評価
- 編集者評
- 編集長アクション