IntelliJ IDEA 2018.1 EAP: 外部アノテーションのインライン表示、Javaコンパイラ対応の強化など
新しいIntelliJ IDEA 2018.1 EAPビルドをリリースしました。こちらからダウンロードして頂くか、Toolboxアプリより更新してください。
ご存じの通りIntelliJ IDEAではコードをannotations.xmlファイルより、ソースコードの外部からアノテート出来ます。 これらの外部のアノテーションはライブラリのクラスなど、ソースコードをいじれない場合に便利です。IntelliJ IDEAは外部でアノテートされているコード脇のガターに@ iconを表示します。最新のIntelliJ IDEA 2018.1ではこの機能が強化され、外部アノテーションをコードにインライン表示してくれます。
IntelliJ IDEAは自動的に@NotNullまたは@Nullableアノテーションを推測し、ガターアイコンに推測によりアノテートされたもの(inferred annotation)であることを示します。最新のEAPではソースコード内に表示する機能もあります。
このオプションはデフォルトで無効化されています。この機能を使うにはPreferences | Editor | General | AppearanceのShow inferred annotations inline チェックボックスにチェックを入れてください。
アノテートすると良い候補が複数ある場合は、サブメニュー内にグループ表示してくれます。
新しいconstant conditions and exceptionsインスペクションはnullableな値をアノテートされていないフィールドに代入しようとしたとき警告します。
この機能を使うにはPreferences | Editor | Inspections | Probable bugs | Constant Conditions & exceptionsのチェックボックスをチェックして、Suggest @Nullable annotation for methods/fields/parameters where nullable values are usedもチェックしてください。
またRedundant Collection operationインスペクションもアップデートされ、単にCollections.sort(Arrays.asList(x))を呼ぶようにアドバイスします。クイックフィックスで瞬時に直すこともできます。
Java コンパイラ
Java 9以降向けのクロスコンパイルのため、‘–release’オプションのチェックボックスがPreferences | Build, Execution, Deployment | Compiler | Java Compilerに新設されました。デフォルトで有効化されています。IntelliJ IDEAはプロジェクト設定からクロスコンパイルが必要かどうか推測し、Java 9で必要な場合は自動的に‘–release’オプションを使います。Java 9で‘–source’と‘–target’オプションを使ってJava 9クラスに対してリンクすることが同時に必要な場合はチェックを外してください。
最新のEAPビルドではバンドルのECJがニーズにマッチしない時のため、特定のバージョンを指定することができます。Preferences | Build, Execution, Deployment | Compiler | Java CompilerのUse CompilerドロップダウンよりEclipseを選択してください。コンパイラのjarのパスを指定する新しいフィールドが現れます。
バージョン管理システム
Version ControlツールウィンドウのLogタブ(GitとMercurialのみ)のCommit Detailsペインをリニューアルしました。このペインは複数のパートに分けられ、全選択アクション(Cmd + A / Ctrl +A)ではコミットメッセージをコミットメッセージ、authorまたはタグをカーソル位置により選択します。
リポジトリのクローンダイアログはGitとGitHubで分けられていた物が統合されました。GitHubアカウントでログインするには下部に新設されたLog in to GitHub…ボタンを使ってください。
GitHubアカウントでログインするとGitHubリポジトリの自動補完が有効化されます。アクセス可能なリポジトリをベースに候補を挙げてくれます。
プロジェクト設定
IntelliJ IDEAは複数のモジュールのqualified nameをまとめて変更することが出来るようになりました。Project StructureダイアログのコンテクストメニューのChange Module Names… アクションより行えます。
インストール
このEAPより、パッチダウンロードプロセスはバックグラウンド化でき、作業を継続できるようになりました。パッチのダウンロードが始まったら必要に応じてBackgroundボタンを押してください。
最後になりますが、JDKは1.8.0_152-release-1136-b11へアップデートされ、以下の修正が取り込まれました:
- Unlimited cryptographic policyがデフォルトで有効化 JRE-638
- JRE9でアプリケーションを実行した際、デバッグセッションのMemory Viewが空になってしまう問題が解決 JRE-641
全ての変更点はリリースノートよりご確認いただけます。こちらよりダウンロードし、最新情報はtwitter(英)/twitter(日)とYouTrackで確認してください。
Happy Developing!
[原文]