BT

IntelliJ IDEA 2018.2、Java 11やMacBookタッチバーのサポートなど

| 作者: Diogo Carleto フォローする 41 人のフォロワー , 翻訳者 阪田 浩一 フォローする 1 人のフォロワー 投稿日 2018年9月9日. 推定読書時間: 5 分 |

原文(投稿日:2018/08/29)へのリンク

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

Adoption Stage
Style
 
 

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT