[Pleiades] Java 8 正式対応！Eclipse 4.4 Luna リリース

毎年 6 月恒例の Eclipse メジャーリリースとなる Eclipse 4.4 Luna (ルナ) がリリースされた。ラムダなど Java 8 に正式対応した初のバージョンだ。これに合わせて日本語化された Eclipse と便利なプラグインや Java 8 実行環境を含む全部入りの Pleiades All in One もリリースした。

__Pleiades All in One Eclipse 4.4 Luna ダウンロード__
http://mergedoc.sourceforge.jp/pleiades_distros4.4.html

![splash.jpg](https://qiita-image-store.s3.amazonaws.com/0/45147/51fbf40c-2a5c-e701-fce5-d0e07852a497.jpeg)

起動時のスプラッシュは月食 (Lunar Eclipse) のときに月から地球を見たときに発生しているであろう日食イメージにした。地球の所々光っている部分は実際の街明かりで、韓国の北側の国が真っ暗で話題になった NASA の映像。背景は銀河中心方向の Shadow of the Dark Rift。

# Eclipse 4.4.1 Luna SR1 対応変更点
*2014/09/26 版リリースに伴う追記*
Eclipse 4.4 SR1 対応、各ランタイム・プラグインのバージョンアップ以外に下記 3 点を変更。

## JD-Eclipse と JadClipse の統合版へ変更
Pleiades All in One 4.4.0 まで使用していた逆コンパイラー・プラグイン JD-Eclipse はフォーク版を含めエディターが開けなかったり違うクラスを開いても同じクラスを開いてしまう問題が発生する場合があったため、本リリースでは JadClipse と JD-Eclipse の統合版 JadClipse for Eclipse 4 に変更した。逆コンパイラー・エンジンとして JD-Eclipse の JD-Core dll および jad.exe が内蔵されており下記のように切り替え可能になっている。デフォルトではジェネリクスや Enum をサポートする JD-Core が設定されている。

![WS000000.JPG](https://qiita-image-store.s3.amazonaws.com/0/45147/73a74838-dc5f-c9f6-5996-7b6d58356245.jpeg)

なお、JadClise for Eclipse 4 に含まれている JD-Core dll は古いため、Pleiades All in One 同梱版は dll を最新のものに入れ替え済みだ。

## m2e-apt プラグイン追加
下記対応のため追加した。
> 「ライフサイクル構成でカバーされていないプラグインの実行」というエラーが出た場合
> http://d.hatena.ne.jp/tyru/20140905/eclipse_lifecycle_error

## Eclipse 2.0 Style Plugin Support プラグイン追加
不要な Eclipse エラーログ出力を抑止。

## 注意）Gradle IDE を動かすには
Eclipse 4.4.0 から Eclipse 4.4.1 にすると Eclipse のバグ (https://bugs.eclipse.org/bugs/show_bug.cgi?id=445122) により Gradle IDE が動かなくなる。STS Gradle ツール 3.6.2 (https://issuetracker.springsource.com/browse/STS-3922) リリースまで待つか、暫定で eclipse.ini の末尾に下記を追加することで対応が可能だ。

```:eclipse.ini
-Dosgi.configuration.area.default=null
-Dosgi.user.area.default=null
-Dosgi.user.area=@user.dir
```

# Eclipse 新機能
細かな修正や改善が数多く行われているが、ここではその一部を紹介しよう。

## Java 8 ラムダ
クイックフィックス（Ctrl+1）で匿名クラスをラムダに変換
![名称未設定-1.jpg](https://qiita-image-store.s3.amazonaws.com/0/45147/29d70ee8-2024-b9df-c00e-2144f7febd43.jpeg)

クイックフィックス（Ctrl+1）でラムダ本文の式をブロックに変換
![名称未設定-1.jpg](https://qiita-image-store.s3.amazonaws.com/0/45147/43669336-71ee-3fa2-d760-43cd538d6bf6.jpeg)

クイックフィックス（Ctrl+1）でラムダ本文のブロックを式に変換
![名称未設定-1.jpg](https://qiita-image-store.s3.amazonaws.com/0/45147/f6cd3d21-b7ce-10c6-055e-6e1d0a065368.jpeg)

Java フォーマッター：ラムダ本文
![WS000001.jpg](https://qiita-image-store.s3.amazonaws.com/0/45147/17e64a8d-40e2-53ff-789d-ea176734a7b5.jpeg)

Java フォーマッター：ラムダ前後の空白
![WS000000.jpg](https://qiita-image-store.s3.amazonaws.com/0/45147/ea087976-b586-bae9-d80f-23ad2b077019.jpeg)

## Tomcat 8 WTP アダプター
WTP 3.6 から Tomcat 8 (Servlet 3.1) に対応した。
![名称未設定-1.jpg](https://qiita-image-store.s3.amazonaws.com/0/45147/9d23a0ce-e744-cb37-873d-7cbd3744175b.jpeg)

## 標準でダークな Eclipse キタ( ﾟ∀ﾟ)
![dark.jpg](https://qiita-image-store.s3.amazonaws.com/0/45147/884a3813-6baa-816d-c45a-575d5f81504f.jpeg)

Luna からは標準で Eclipse の外観のテーマにダークが用意された。ツールバーの設定（青い歯車アイコン）から下記などを設定する。

* 一般 > 外観 ： "テーマ" に "ダーク" を選択 (新機能)
* 一般 > 外観 > 色テーマ ： エディターに適用するテーマを選択
* 一般 > JStyle ： 改行記号の色を選択 (JStyle プラグイン)

## エディター分割
Eclipse 3 系にあった同一ファイルのエディター分割が復活した。ただし分割・復元操作のメニューなどはなく、ショートカットキーのみの対応だ。なお割り当てられているキーが日本語キーボードで問題があるため Pleiades All in One ではデフォルトのキーバインドは残したまま、別途追加で割り当てている。

垂直分割： デフォルト Ctrl+{、新たに Ctrl+[ バインド
![WS000001.JPG](https://qiita-image-store.s3.amazonaws.com/0/45147/9484d54c-56c4-5a35-033a-9065141eb6b5.jpeg)

水平分割： デフォルト Ctrl+_、新たに Ctrl+\ (右 Shift の隣) バインド
![WS000000.JPG](https://qiita-image-store.s3.amazonaws.com/0/45147/19f59fec-a071-44b1-7422-47a771db9d72.jpeg)

# Pleiades All in One 追加プラグイン 3 つ
今回のリリースで新たに 3 つの Eclipse プラグインを追加した。

## Glance
有名どころなので既に使っている方も多いのではないだろうか。検索ダイアログをいちいち開かずに下部のステータスバーからインクリメンタルサーチしてハイライト表示ができる。検索はエディターだけでなく、コンソールやパッケージエクスプローラーなどのビューでも検索可能だ。
http://ystrot.github.io/glance/

![glance.jpg](https://qiita-image-store.s3.amazonaws.com/0/45147/1c883f0f-d114-c5a2-ebe5-c5c6e0c74f1d.jpeg)

Pleiades All in One ではキーバインドを下記のようにカスタマイズしていて、Ctrl+J でエディターと検索フィールド間をフォーカス移動可能だ。検索フィールドで Enter を押すと次の候補へ、Shift+Enter で前の候補へ移動することができる。

|操作|キーバインド|
|:--|:--|
|Eclipse 標準インクリメンタル検索|Ctrl+J アンバインド|
|Eclipse 標準逆インクリメンタル検索|Ctrl+J アンバインド|
|Glance を開く|デフォルトの Ctrl+Alt+F をコピーして Ctrl+J バインド|
|Glance フォーカス・バックで戻る|デフォルトの Ctrl+Alt+F をコピーして Ctrl+J バインド|

## Eclipse Runner
実行や外部ツールの構成をランナービューからダブルクリックで一発実行。Maven Jetty デバッグ起動やよく使う Gradle、Yeoman などのコマンドを外部ツールに登録しておくと便利だろう。表示絞込みのためフィルターやブックマーク機能などもあり、デバッグモードもアイコンのトグルで簡単に切り替えることができる。ただし、外部ツールはデバッグアイコンを押した状態だとダブルクリックで起動できないので注意してほしい。
https://code.google.com/p/eclipserunnerplugin/

![runner.jpg](https://qiita-image-store.s3.amazonaws.com/0/45147/3bb20e84-9d85-d937-6d4f-1020adc68fc2.jpeg)

## Step Counter
開発者にはおなじみのたけぞうさんが公開している様々な言語の行数カウントに対応したプラグイン。やはり業務系では重宝するのではないだろうか。
https://github.com/takezoe/stepcounter

![stepcounter.jpg](https://qiita-image-store.s3.amazonaws.com/0/45147/0a4dcd58-d9a0-ac5e-431f-ce41290e719e.jpeg)

# Pleiades 変更内容

## Java 8 環境設定
Pleiades All in One Java および Ultimate の Full Edition では Java 6、7、8 が設定済みで Java 8 がデフォルトとなっている。
![名称未設定-1.jpg](https://qiita-image-store.s3.amazonaws.com/0/45147/0a5008cc-c548-f79a-7689-6ea6ca389ed7.jpeg)

コンパイラー準拠レベルは 1.8 に設定済みだ。
![名称未設定-1.jpg](https://qiita-image-store.s3.amazonaws.com/0/45147/ced7bfca-aae8-2c83-e2b7-3cc8425ad77e.jpeg)

## Java 8 日本語 Javadoc API ドキュメント対応
Pleiades は JRE 設定時に pleiades-config.xml に定義された日本語 Javadoc API ドキュメント URL が動的に設定されるようになっており、今回のリリースでは Java 8 の定義を追加済みだ。ちなみに Pleiades を使用しない通常の Eclipse ではソース上の Javadoc コメントが優先されるため、JRE 定義に日本語 API ドキュメント URL を設定しても日本語でホバー表示はできないが、Pleiades では AOP で Javadoc の参照順序を逆転させることにより、これを実現している。

![javadoc.jpg](https://qiita-image-store.s3.amazonaws.com/0/45147/06fb06c8-bece-2720-3b48-051a3663bb8c.jpeg)

## JRE 標準のログフォーマット設定を 1 行出力に設定
Java7、8 標準の logging.properties でコメントアウトされている 1 行ログフォーマットを有効化。通常は Tomcat などを実行した場合、2 行でログ出力されるが、この設定により下記のように 1 行フォーマットで出力されるようになっている。
![名称未設定-1.jpg](https://qiita-image-store.s3.amazonaws.com/0/45147/10a4d49f-395d-aab2-963b-d2fac4fe3ca1.jpeg)

## Windows 8 で動かしたときのテーマ
Eclipse Luna は Windows 8 の場合、テーマが未選択となってしまいツールバー周りが正常に表示されない不具合がある。Pleiades All in One ではデフォルトで Windows 7 を設定することで、これを回避している。

## Sysdeo Tomcat Launcher の Luna 対応
Eclipse 4.4 Luna から Tomcat Launcher のような MANIFEST.MF を持たない Eclipse 2.0 スタイルのプラグインは動作しなくなった。最近はプラグインが更新されておらず WTP や Maven があるため新規プロジェクトで使用されることはほとんどないが、既存の Tomcat プロジェクトのサポート用に Luna でも動作するように OSGi バンドル化したものを作成して、プラグイン作者の Bruno 氏に Luna Support パッチを送付し [3.3.1 としてリリース](http://www.eclipsetotale.com/tomcatPlugin.html#A3)していただいた。

## プロパティーエディターを Limy に戻した
[Limy プロパティーエディター](http://www.limy.org/program/eclipse_plugin/usage_detail.html)の古いバージョンには "×" などが文字化けする問題があったため、[chomakichi 氏のプロパティーエディター](http://propedit.sourceforge.jp/)を使用していたが、Limy 開発者の naoki-iwami 氏に対応していただいたため Limy に戻した。

## その他の変更点
* ADT、AnyEdit Tools、AWS Toolkit、CDT、CheckStyle、EGit、Eclipse 4.3、Eclipse 4.4、Eclipse Launcher、FindBugs、Gradle IDE、JD-Eclipse、JSDT、Jetty、Mylyn、PDE、PyDev、Subversive、WTP、m2e の差分訳追加

* Eclipse 4.4 Luna 対応
* Eclipse 4.4 スプラッシュ画像追加
* Java 8 対応
* "in-place" を "インプレース" と翻訳するように統一

* Java 8 で HashMap の内部実装が変更されたことによる対応 (putAll から put が呼び出されなくなった)
* feature.xml のバージョン表記の誤りを修正
* ADT の設定パネルの一部が翻訳されない問題に対応
* eclipse.exe -clean.cmd でパスに空白が含まれる場合に起動できない問題に対応
* CDT 不具合対応 - http://mon80.blog.fc2.com/blog-entry-336.html (MON-80)
* 辞書ジェネレータ強制トリムと実行時句読点自動変換で「Misc.=その他。」となってしまう問題を修正
* [#33608] Azure Eclipse Pluginでリモートデスクトップ設定ができない (takekazuomi) 対応
* [#32826] 対応一部差し戻し (プロジェクトのプロパティで Resource などが翻訳されない問題を修正)
* [#32826] ファイル関連付け、Force.com IDE クエリ結果列ヘッダが翻訳されてしまう問題を修正
* [#31642] commons-io 2.3 以降対応パッチを取り込み (henrich)