検索ボックスがツールバー部へ表示され、ここにキーワードを入れることでファイル検索、メニュー検索、設定の検索など、キーワードに対応するあらゆる要素を検索して表示してくれるようになりました。
何か疑問に思い調べたいことがあれば、この検索ボックスへキーワードを入力すれば良いので、最近の多機能なEclipseを使いこなすのを助けます。
IndigoからGitをサポートする「EGit」プラグインを提供するようになりましたが、JunoからはEclipse IDE for Javaなどいくつかのパッケージで標準でEGitが含まれるようになりました。
また、Eclipseプロジェクト自体は次のSCM(構成管理システム)としてGitを選択しました。Junoでは多数のプロジェクトの開発がGit上に移行し、残りのCVSは2012年12月21日に停止されることが決定されました。
EGitのバージョンは2.0となり、stashやsubmoduleといった機能がサポートされるようになりました。
stashを使えば、ある作業(例えば機能追加としましょう)を行っている最中に別の作業(例えば緊急のバグ修正)が来た場合でも、現在の編集内容を一時退避しておいて、割り込み作業ができます。
また、submoduleサポートにより、複数のプロジェクトから構成されるような大規模なシステム開発を行う場合でも、共通のライブラリのリポジトリをインポート・管理することが簡単にできるようになります。
その他、各種ビューが改善され、より使いやすくなりました。
「Xtend」は、Eclipse Foundationで開発される新しい言語で、GroovyやScalaと同じようにJVMで動作するシンプルな言語を目指しています。
XtendはBetter Javaを目指しており、基本的にはJavaの文法をそのまま利用しながら、冗長は記述や宣言を省略できたり、クロージャやプロパティアクセスと言った、今風の言語の特徴を取り入れています。
また、Javaの持つ静的な型定義を受け継いでいるので、先進的な言語の特徴を受け継ぎながら、安全なコーディングができます。Xtendで記述されたコードは、Eclipse上でJavaのコードに変換、Javaコンパイラでコンパイルしてから実行されます。
またXtendは、DSL(ドメイン特化型言語)を作成する「Xtext」を利用して作成されています。Xtextを利用すると新しく定義した言語をJavaに変換し、コードの補完などコーディングを支援するツールを作れます。Xtendは、Groovy、Scalaより後発な言語ではありますが、すでにコーディングを支援するツールが提供されています。
サンプルコードを簡単に見でみましょう。例えばタイトルと価格を持った書籍のデータクラスの定義は、次のように行えます。
…… @Data class Book { String title; int price; } ……
「@Data」を付けることにより、コンストラクタやGetter/Setterが自動的に生成されるので、従来よりシンプルに記述できています。また、条件によるフィルタを利用することができます。例えば、3000円以下の書籍のみ抽出するフィルタは、次のように書けます。
…… var books = new ArrayList(); books.add(new Book("Gitポケットリファレンス",2604)); books.add(new Book("jQuery Mobileスマートフォンアプリ開発",2940)); …… var cheapBook = books.filter[price < 3000]; ……
Xtendの型推論などによりbooksの型宣言が省略されているのが確認できます。
詳細は、XtendのWebサイトをご覧ください。
仕様変更時のコードに対する影響の解析は、ソフトウェア開発における昔からの課題の1つです。
Intentは、Eclipseでタスク管理機能をサポートする「Mylyn」のサブプロジェクトで開発されているプラグインで、「Intent Document」という独自の形式で記述したドキュメントを作成することで、ドキュメントとコードを対応付けられます。
Intentにより、設計と実装の“ずれ”を検出し、設計書とコードの同期を取れるようになります。
いくら新しいバージョンがリリースされたからといっても、プラグインをインストールし直したり、環境を構築し直すのは、面倒です。Ingdigoから提供されているすでにインストール済みのEclispeからのプラグインのインポート機能を利用すると簡単にJunoに移行できます。
プラグインを移行するには、メニューの[ファイル]→[インストール]→[既存インストールから]を選択し、既存のEclipseのインストールディレクトリを選択することで、プラグインを移行できます。
プラグインは、以前のバージョンと互換性はありますが、まれに動作しないプラグインがあります。その場合、動作しないプラグインに新しいバージョンがリリースされていればバージョンアップしてみてください。
前バージョンのIndigoと同じく、柏原真二氏を中心に開発されているEclipseのディストリビューションである「Pleiades」を利用する方法と、「Eclispe Babel Project」で配布されている言語パックを利用する方法があります。
なお、言語パックリリースに先立って、伊賀敏樹氏から配布されている「Eclipse日本語化言語パック(サードパーティ版)」を利用することもできます。。
Pleiadesは翻訳リソースがないプラグインでもある程度自動的に翻訳してくれるので、お勧めですが、まれに追加したプラグインが正しく動作しないことがあります。副作用が嫌な方は、言語パックを利用すると良いでしょう。
今回は、Eclipse Junoについて紹介しましたが、いかがでしたでしょうか。最近は地味なバージョンアップが主でしたが、今回はメジャーバージョンアップということで、いくつか目新しいものが入ってきており、Gitサポートの強化やマルチウィンドウ化によるマルチディスプレイへの対応など、開発者の環境変化に応じた機能を提供してきています。
またEclipse Code Recommendersでは、コードのコンテキストに基づき補完候補やテンプレート挿入する機能の開発も視野に入っており、機能が向上していけば、コーディングの快適さが格段にレベルアップすることが期待されます。
Code Recommendersは、現在はEclipseのプラグインとJava APIの一部しか対応していませんが、将来的にはAndroidのAPIもサポートされるようです。
Copyright © ITmedia, Inc. All Rights Reserved.