JetBrainsは代表的製品であるIntelliJ IDEAのバージョン2018.2をリリースした。このバージョンは次のJava 11のサポートやブレークポイントインテンション、MacBookのタッチバー、Spring BootやScalaプラグイン、Dockerプラグインの強化といったものを提供する。
Java
IntelliJ IDEA 2018.2はラムダのパラメータでのローカル変数という新しいシンタックス (JEP 323) をサポートする。これは次のJava 11の新機能で、この9月に入る予定だ。開発者はvar
をラムダ式の中で使える。
//Java 8, without var
BiConsumer<Processor, String> consumer = (Processor x, String y) -> x.process(y);
//Java 11 using var
BiConsumer<Processor, String> consumer = (var x, var y) -> x.process(y);
Java 11でのvar
利用のサポートと同時に、Ctrl/⌘を押す、またはvar
にポインタを乗せると変数の型を表示するようになる。
IntelliJ IDEAは長いメソッドチェーンに対して型のヒントを表示する。これはジェネリクスでの長いメソッドチェーンに対し、呼び出しそれぞれの型を型ヒントとして見たい開発者にとって役立つものだ。
新しいプレビューパネルがExtract Methodリファクタリング向けに追加され、開発者は変更結果を確かめずともリファクタリングの結果がどうなるか見れるようになった。
IntelliJ IDEAは@org.jetbrains.annotations.Contract annotationのサポートを強化した。これは開発者が特定のパラメータが渡されたときのメソッドのリアクションを指定できるようにするものだ。これはnull代入の解析や他のインスペクションに役立つ。サポートする新しい値はnew - メソッドはnullでない新しいオブジェクトを返す、this - メソッドはnullでないこの参照を返す、paramX - メソッドはX番目の引数を返す、である。
Stream APIのサポートも改善された。ソートが不要な場合やコレクタやコレクションが間違っている場合に教えてくれる。さらに新しくcollect(toSet())
の前にdistinct()
を冗長に呼び出した場合に警告がある。
Javaプロジェクトのデバッグでも多数の改善点が見られる。単独のAlt+Enterのキーの組み合わせで、開発者は他の利用可能なすべてのインテンションと合わせて新しいブレークポイントインテンションを3つ見れる。それらは、クラス内でのみ停止する、クラス内で停止しない、現在のオブジェクトでのみ停止する、という3つである。加えて開発者が特定のメソッドから呼び出された場合にみブレークポイントで停止させることができるCallerフィルタが新規にある。
ユーザインタフェース
一連のユーザインタフェース関連の改善もこの新バージョンでリリースされた。MacBookのタッチバーを直接サポートし、IntelliJ IDEAのボタンがタッチバーインタフェースの中央に表示される。これで開発者は実行やデバッグ、コミット変更、プロジェクト更新をタッチバーからできる。これもmacOSのトピックだが、タッチバーをダーク調にでき、また新しいアイコンを追加できる。LinuxでのIntelliJのテーマも更新した。
Scala
IntelliJ IDEAはScalaプラグインをいくつか改善した。開発者はインラインのヒントとしてimplicit conversionとargumentを見れる。ツールチップにナビゲーションと拡張情報がある。ScalafmtフォーマッタはScalaプラグインの一部となった。設定はPreferences/Settings > Editor > Code Style > Scalaをクリックする。
型アノテーションとパターンマッチングに対する自動補完も改善した。Scalaプラグインは適切な場合クラスとインタフェースに対して型付けされたパターンのリストを提案する。以下の例のようになる。
JavaScript / Typescript
JavaScriptとTypescriptに対してもいくつか改善がある。新しいリファクタリングであるコンポーネントの摘出を使って開発者がReactの新しいコンポーネントを作成できる。新しいコードカバレッジ機能を使い関数の手動テストを実行してクライアントサイドでのJavaScript/TypeScriptの未使用コードを発見できる。これを使うには、開発者がカバレッジ有りでJavaScript Debug設定を開始しChromeでアプリケーションを操作する必要がある。設定停止後、IntelliJ IDEAはCoverageツールウィンドウにカバレッジレポートを表示する。
JavaScriptとTypeScriptの一連の機能はもう利用できる。たとえばインタフェースの実装やderived classの作成、インタフェースや抽象クラスのメンバの実装、'switch'のケース生成、'for..of'でのイテレートなどだ。
Spring
Spring Integrationダイアグラムが新しく追加された。これは基本的にXMLやJavaアノテーションでアプリケーションに設定されているものを表示する。たとえばゲートウェイやチャンネル、ブリッジなどだ。
Spring Bootアプリケーション向けにいくつか改善があった。新しいダイアグラムモードで開発者はSpring Bootアプリケーションの実行時のbean間にある依存を可視化できる。実行ダッシュボードから開発者はHTTPリクエストマッピングを管理できる。
Docker
Dockerプラグインは成熟を続け、新しいUse Soft Wrapsアクションを使いDockerログで単語をラップするといった機能ができた。また開発者はcomposeノードやコンテナから対応するcomposeファイルやdockerファイルに進める。さらに、DockerfileへのDockerビルドコマンド実行用にベースディレクトリを定義できる。
詳細や変更の完全な内容はWhat's Newページにある。
Rate this Article
- Editor Review
- Chief Editor Action