その他のIndigoの新機能

本連載では数回に渡りEclipse 3.7 Indigoの新機能を紹介してきたが、Indigoの新機能紹介も今回で最終回となる。Indigoはこれまでに紹介したように、ここ数年のリリースと比べると非常に多くの新機能が盛り込まれている。今回はこれまでに紹介できなかったIndigoの新機能の中から有用なものをピックアップして紹介しよう。

EGit

Eclipse自身の開発がGitに移行しつつあることもあってか、IndigoではGitの利用をサポートするためのEGitが標準で搭載されている。EGitはGitのJava実装であるJGitを含んでおり、別途Gitのバイナリをインストールしなくても使用できる。最近ではGitを使用したソフトウェア開発プロジェクトのホスティングサービスであるGitHubなどが人気を集めており、これらのサービスを便利に利用することができるだろう。

図1 : Git Repository Exploringパースペクティブ

図2 : EGitのコンテキストメニュー

ただし、Eclipse.orgで配布されているIndigoのパッケージのうち、EGitが標準で搭載されているのはC/C++向けのものなど一部に限られている。Eclipseの日本語ディストリビューションを提供するPleiadesにはデフォルトでEGitが含まれているのでこちらを利用してもいいだろう。

Mylyn

これまでのMylynはタスクを中心としたUIを提供することを指向しており、BugzillaやJIRA、Tracといった課題管理システムとのコネクタが用意されていたが、IndigoではEclipse Foundationのトップレベルプロジェクトに昇格し、「アプリケーションのライフサイクル全体を管理するためのフレームワーク」という位置付けになっている。

これに伴い、Indigoではまだ試験的な機能ながらCIツールであるHudson/Jenkinsとのコネクタが提供されており、更新サイトからインストールすることでBuildsビューでHudson/Jenkinsのジョブの操作やジョブの実行履歴を参照することができる。また、ビルド結果からタスクを作成することもできる。

図3 : Buildsビュー

図4 : Hudson/Jenkinsのジョブ実行履歴

Xtext2

XtextはDSL(Domain Specific Language)を作成するためのフレームワークで、DSLの定義を与えることでコードアシストやバリデーション機能を備えたEclipseベースのエディタやモデル、コードジェネレータなどを自動生成できるというものだ。IndigoではXtext2となり、以下のような機能が追加された。

  • 自動生成されたエディタでのリファクタリングフレームワーク
  • Xtextの文法編集時のリッチなホバー表示
  • DSLに埋め込み可能な式言語
  • 静的型付けテンプレート言語Xtendによってコードジェネレータの開発が容易に

図5 : Xtextの文法定義

Xtext2で追加されたDSLに埋め込み可能な式言語や、XtendによるテンプレートによってXtextベースのDSLの可能性がさらに広がったといえるだろう。Eclipseの外での取り回しにはやや難があるものの、これだけ少ない手順でDSLや周辺ツールを作成できるフレームワークは他に類を見ない。うまく活用したいものだ。

まとめ

以上5回に渡りIndigoの新機能を紹介してきたが、Indigoではこの他にもMylynやCDTの改善、RAPでもモバイルプラットフォームのサポートの改善など、様々な改良が行われている。特にCDTはASTに基づいたコード分析機能など高度な機能が実装されている。

なお、本連載の第110回で紹介したIndigo向けのJava7対応パッチだが、2011年9月にリリース予定のEclipse 3.7.1で標準機能として取り込まれるようだ。このため、すでに更新サイトでのパッチの提供は終了しているので注意して欲しい。

IndigoはEclipseユーザにとっては久々にエキサイティングなリリースになったのではないだろうか。Eclipseは毎年6月にバージョンアップが行われることになっている。来年のEclipseのリリースにも期待することにしよう。