IntelliJ IDEA 2016.1リリース
ついにIntelliJ IDEA 2016.1の登場です。2016年最初のリリースになります。4ヶ月でJetBrainsが達成した内容にきっと驚くことと思います。是非ダウンロードして新機能の数々を体験してみてください。このポストでは主な改善点をお知らせ致します。
新機能
デバッガ
Evaluate ExpressionとウォッチでJavaコードをデバッグしている場合もGroovy表記が使えるようになりました。Groovyのコンパクトな表現により、特にコレクションを扱っている場合に便利です。
現在のスレッドが他のスレッドによりブロックされている場合、再開することをサジェストします。
今までは再開すると他のサスペンド中のスレッド全てが再開していました。現在のスレッドのみを再開するように設定出来るようになりました。
デバッグ中のクラスファイルと、見ているソースコードに違いがある場合教えてくれるようになりました。無駄な時間、間違いを防げます。
バージョン管理
Git 2.5で導入されたgit worktreeをサポートしました。リポジトリの多数のリビジョンをシンプルに扱えるようになります。
ブランチのメニューに二つのアクションが加わりました: Checkout with Rebase(リベースしてチェックアウト)とリネームです。Checkout with Rebaseを使うと個別に二つのアクションを実行するよりも早く作業が完了します。
リビジョンのマージと比較はワード単位の差異ハイライトにより見やすくなりました。
エディタ
コードエディタにre-order method arguments、array elements、tag attributes(メソッド引数、配列要素、タグ属性の順序変更)アクションが加わりました。Alt+Ctrl(Cmd)+Shift+←または→にて移動させることができます。
スタティックメソッドや定数はクラスと同様、Alt + Enterを押すだけで自動的にインポートされるようになりました。
Add unambiguous imports on the fly(曖昧なインポートを自動的に追加)オプションはスタティックメソッドや定数に対しても効くようになりました。
コードエディタがRTL言語(アラビア語、ヘブライ語)をサポートしました。
Gradle
IDEのプロジェクトモデルはGradleに準拠するようになりました。GradeプロジェクトのソースセットはIDEにて個別のモジュールとして扱われ、個別に依存を持つことができます。これにより多くのユーザーが抱えていた問題が解決するはずです。
WARアーティファクトでは、IDEAが自動的にビルドスクリプトに定義されたEARアーティファクトより設定できるようになりました。
Java 8
Inline Method and Change Signatureアクションではプロジェクト内の関連するメソッド参照をラムダ表記に変換します。
新しいインスペクションではjava.util.Optional、ラムダ表記、そしてファンクショナルインターフェースが安全に使われているかどうかを確認してくれます。
Guavaをお使いの場合、FluentIterable、Function、Optional、そしてPredicateをJava 8 APIと置き換えてくれます。
Kotlin
IntelliJ IDEA 2016.1はKotlin 1.0を内蔵しています。KotlinはJava 6/7/8と互換性のある言語で、AndroidやJava EEやSpringなどJavaフレームワーク、GradleやMavenなどのビルドツールと一緒にご利用いただけます。Kotlinは既存のJavaプロジェクト内で使えます。Kotlinバージョン1.0以降は後方互換性があります。
Kotlinを楽しく学習できるよう、Kotlin Educationプラグインをリリースしました。
Scala
シンボルの型、定義スコープや利用状況といった情報を使ってコード補完でより関連性の強いものが候補に挙がるようになりました。IDEAはローカル変数、パラメーター、フィールド、メソッドといった順に優先順位を付けています。型が期待される場合も考慮に入れます。
また、コード補完はケースクラス内のパターンマッチステートメントのプロパティ名もサジェストします。
JavaScript
ES6とTypeScriptサポートが強化され、Create Method、Extract Method、Inline Method、Introduce FieldのリファクタリングとMake Class Abstract、Make public/private、Remove Modifierのインテンションアクションが加わりました。また利用されていないインポートのハイライト、インポートの最適化も行われます。コード補完時にはインポートを自動的に行います。
TypeScript 1.8をサポートしました。
AngularJS 2サポートが強化されイベントとプロパティバインドのコードアシスタンス、データバインド内のコード補完を追加しました。directive、テンプレートに定義している変数、カスタムイベントハンドラ、templateUrlとstyleUrlフィールドのコードインサイトとナビゲーションも可能です。
AngularJS 1.5のmodule.component()メソッドヘルパを使って定義したコンポーネントも認識するようになりました。
Chromeのデバッガは非同期のクライアントサイドコードのデバッグが簡単になりました。インラインES6 arrow functionやwebとサービスワーカー内にセットしたブレークポイントで止めることが出来ます。
Spring Frameworks
SpringBootサポートが強化されYMLやbanner.txtファイル内でもコードアシスタンスが働くようになりました。@SpringApplicationConfigurationの設定はテストの実行設定にも反映されます。ユーザー定義の設定プロパティについても‘Find usages’が使えるようになりました。
Spring MVCサポートの強化により@EnableWebMvcに対応しました。
ご報告頂いた沢山の 問題を解決しています。
Thymeleaf
ユーザー定義のdialectもコードアシスタンスが働きます。またThymeleaf 3.0もサポートしました!
Android
リークしたアクティビティのプロファイルができ、またAndroid Studio 1.5で追加された新しいlintチェックも使えます。
その他
ターミナルツールウィンドウ内でCtrl(Cmd)+Fでクイックサーチを行えます。
Dockerプラグインの幾多に渡る改善により、Docker Machineがサポートされ、ツールウィンドウが独立しました。また右側のパネルでログや環境変数、ポートバインドの確認などが行えます。
IntelliJプラットフォームはJava8に移行し、プラグインデベロッパはJava8の機能を使えるようになりました。
新しい機能や改善点について詳しくはWhat’s new ページ(後日翻訳予定)をご参照ください。
新しいバージョニング
先にアナウンスした通り、今回のバージョンより毎年のメジャーリリースではなく年に数回のリリースサイクルとなります。JetBrains Toolbox(IDE製品群)で統一したバージョン番号が付けられ、フォーマットは”YYYY.R” (YYYYは年、Rは年で何回目のリリースかを指す)となります。
—
JetBrains チーム
The Drive to Develop
[原文]