IntelliJ IDEAの最新版が登場!

去る11月6日、JetBrainsからJava統合開発環境IntelliJ IDEA 8がリリースされた(その後、11月27日にマイナーバージョンアップ版である8.0.1が公開されている)。IntelliJ IDEAは有償のIDEでありながら、根強いユーザを多く持つことで有名だ。

今回のバージョンアップではパフォーマンスとユーザビリティの向上に加え、以下のように多くの新機能が搭載されている。

  • SQL開発のサポート
  • FreeMarker、Velocityのサポート
  • XPath/XSLTのサポート
  • Groovy/Grailsのサポート
  • JBoss Seam、Struts2、Spring 2.5、GWT 1.5のサポート
  • RESTful Webサービスのサポート
  • 新たなリファクタリング機能の追加
  • UMLクラス図
  • スレッドダンプを解析するためのアナライザ
  • JavaScript/Flexのデバッグ
  • Flex向けActionScript/MXMLエディタの強化
  • Mavenサポートの強化

さすがにメジャーバージョンアップなだけあって新機能が目白押しという感じだ。本稿では8.0での新機能を中心に、IntelliJ IDEAを紹介する。

さまざまな言語/フレームワークをサポート

最近のIDEはさまざまなプログラミング言語のサポートするのがトレンドだ。IntelliJ IDEAは本来Java向けの統合開発環境だが、Java以外にGroovy/Grails、Flexが標準でサポートされている。

また、Rubyに関してはプラグインをインストールすることでサポートを追加できるほか、RubyMineという単独のIDE(現在はPublic Preview)としても提供されている。

図1 プロジェクト作成ウィザード

IntelliJ IDEAではプログラミング言語だけでなくJavaの各種フレームワークのサポートにも積極的だ。JBoss Seam、Struts 2、GWTなど、標準仕様以外のフレームワークも標準でサポートされている。以下はJavaプロジェクト作成ウィザードの1ページだ。プロジェクトで使用するフレームワークやバージョンを細かく指定することができる。

図2 Javaプロジェクト作成ウィザード

また、Webアプリケーションで利用されるビュー技術として、Java EE標準技術であるJSP以外にVelocityやFreeMarkerが標準でサポートされている点にも注目したい。

図3 Velocityエディタ

RESTful Webサービス

IntelliJ IDEA 8はRESTful Webサービスの開発もサポートしており、JAX-RS(JSR-311)の実装としてGlassFishのサブプロジェクトとして開発されている[Jersey]https://jersey.dev.java.net/を内蔵している。

JAX-RS自体はアノテーションで簡単にRESTful Webサービスを開発することができるというものであり、取り立てて強力な開発支援機能が提供されているわけではないが、JAX-RSのアノテーション固有の入力補完などが可能だ。

図4 JAX-RSのアノテーションの入力補完

Flexサポートはエディタが強力

IntelliJ IDEAでは以前からFlexがサポートされているが、8.0ではMXMLやActionScriptエディタが強化されている。

Flex向けの開発ツールといえば本家Adobeが提供するFlex Builderがまず思い浮かぶ。IntelliJ IDEAはFlex Builderのように画面をグラフィカルにデザインすることはできないが、逆にコーディングに関する支援機能はかなり強力で、メソッドの実装/オーバーライド、アクセサメソッド/コンストラクタの生成、import文の再編成など、Javaエディタと同様の機能が利用可能だ。

図5 アクセサメソッドの生成

まとめ

IntelliJ IDEA 8.0はFlexやGroovy/GrailsなどJava以外の部分に関する機能の強化が目立つリリースとなっている。EclipseやNetBeansにも同様の傾向が見られるが、これはこれらのIDEがすでにJava統合開発環境として成熟の域にある製品であることの証ともいえるだろう。

本連載でも以前紹介したとおり、IntelliJ IDEAは有償製品ではあるものの、30日間は無償でトライアルすることができるほか、オープンソースの開発者向けには無償でライセンスを提供している。機会があればぜひお試しいただきたい。同じJava IDEでもEclipseやNetBeansとは異なる部分もあり最初は戸惑うかもしれないが、なぜIntelliJ IDEAが根強い人気を誇っているのかがわかるはずだ。