Groovy-Eclipseとは

1月15日、Groovy開発用のEclipseプラグイン「Groovy-Eclipse 2.0」がリリースされた。GroovyはJava VM上で動作するスクリプト言語でJavaに似た構文を持つためJavaプログラマにとって扱いやすいという特徴がある。Groovy-EclipseはこのGroovyでの開発を強力に支援してくれるEclipseプラグインだ。バージョン1.0から大幅に機能が強化されており、Eclipse標準のJava開発環境であるJDTと比較しても遜色ない開発支援機能を備えている。

Groovy-Eclipseはこちらの更新サイトからインストールすることができる。

強力なコーディング支援機能

Groovy-Eclipseをインストールすると、GroovyプロジェクトやGroovyのクラスなどを作成するためのウィザードが追加される。また、Groovyスクリプトを編集するためのエディタは非常に強力で、コード補完機能、エラーの即時報告、ソースコードのフォーマット、インポート文の自動編成といった機能を備えている。

図1 Groovyエディタでのコード補完

また、検索機能も強力で、[CTRL]+[T]による型検索ではJavaの型だけでなくGroovyのクラスを検索することも可能だ。クラスやメソッド、変数などの宣言元、参照元の検索やハイパーリンクによるジャンプなどもJDTと同様に行うことができるほか、タスクタグやクイックアウトラインといった細かい機能の使い勝手もJDTと変わらない。Javaでのプログラミング時とほとんど同じ感覚でGroovyスクリプトを編集することができるはずだ。

Javaとの連携とリファクタリング

コード補完時などにGroovyスクリプトからJavaクラスを参照できるのは当然だが、作成したJava側からGroovyのクラスを参照することも可能となっており、Javaエディタでのコード補完時にはGroovyのクラスも補完候補として表示される。

Javaでのプログラミング時とほぼ同様の使い勝手を実現しているGroovy-Eclipseだが、リファクタリングだけは[Groovy Refactor]メニューから行うようになっており、以下の3つのリファクタリングを行うことができる。

  • メソッドの抽出
  • メソッドのインライン化
  • リネーム

図2 Groovy Refactorメニュー

リファクタリング機能はJava側とも連動しており、たとえばGroovyのクラスのリネームを行うとJavaから該当のGroovyクラスを参照している部分も修正される。また、Java側でGroovyクラスのメソッド呼び出し部分を選択してメソッド名のリネームを行うと、Groovyスクリプト側も自動的に修正される。

図3 Groovyクラスのリネーム

Groovy単独だけではなく、JavaとGroovyを組み合わせて利用する場合でもGroovy-Eclipseは大きな威力を発揮することだろう。

Groovyスクリプトの実行とデバッグ

Groovyスクリプトの実行やデバッグももちろん可能だ。パッケージエクスプローラーなどで実行するGroovyスクリプトを右クリックし、[Run As]→[Groovy Script]で実行、[Debug As]→[Groovy Script]でデバッグを行うことができる。

デバッグ時の操作もJavaプログラムのデバッグと同様なので特に操作に迷うことはないだろう。

図4 Groovyスクリプトのデバッグ

また、JavaプログラムからGroovyクラスを呼び出している場合(もちろん逆にGroovyスクリプトからJavaクラスを呼び出している場合も)、JavaとGroovyをシームレスにデバッグすることができる。

まとめ

Groovy-Eclipse 2.0は非常に高機能で完成度の高いGroovy開発環境だ。本稿で紹介しているようにEclipse標準で搭載されているJava開発支援機能との連携も強力で、JavaとGroovyを組み合わせて利用する場面にも対応する。Groovy自体がJavaとの親和性が高くJavaプログラマに馴染みやすいスクリプト言語だが、Groovy-Eclipseを使用することで開発環境も普段使用しているEclispse上で違和感なくGroovyを使用した開発を行うことができるだろう。