リファクタリング機能はIDEAが初めて

IntelliJ IDEAはJetBrainsによって提供されている商用のJava統合開発環境(Java IDE)だ。Java統合開発環境といえばEclipseやNetBeansといったオープンソースのプロダクトが幅をきかせているが、IDEAは最先端の機能と扱いやすいユーザインタフェースを備えており、有償であるにもかかわらず熱心なユーザを多く抱えている。いまでこそ当たり前となっているリファクタリング機能や自動的にソースコードの修正候補を推測するクイックフィックスといった機能を最初に実現したJava IDEはIntelliJ IDEAだった。また、EclipseやNetBeansにもIDEAの影響を受けていると思われる部分が多く見受けられる。これはJava統合開発環境として高い評価を受け続けている証といえるだろう。

IntelliJ IDEAの最新版は6.0だが、現在は次期バージョンのマイルストーンビルドである7.0M1がJetBrainsのWebサイトからダウンロード可能となっている。7.0ではSpring FrameworkやHibernateのサポートが追加されるなど、見所の多いリリースだ。本稿ではこのIntelliJ IDEA 7.0M1のレビューをお届けする。

IDEA 7.0M1の新機能

IntelliJ IDEAはJ2MEによるモバイルアプリケーション、SwingベースのクライアントGUIアプリケーションの開発からJavaEEを利用したエンタープライズアプリケーション開発までJava開発全般をサポートしているフルスタックのIDEだ。EJB3やJSF、StrutsといったJavaにおける標準的なフレームワークに加えてGWTやRuby on Railsにも対応している。これらの従来からの機能に加え、7.0M1では以下のような新機能が追加されている。

  • パフォーマンスの改善
  • Hibernate、Spring Frameworkのサポート
  • Eclipseとの相互運用性の向上
  • バージョン管理システムとしてRational ClearCaseをサポート
  • JSONやJSDocなどJavaScriptサポートの強化

このほかにもProjectビューでドラッグ&ドロップによるファイルのコピー/移動が可能になるなど新機能が追加されているが、やはり Hibernate、Springといったオープンソースの標準的なフレームワークがサポートされたのは大きい。また、Ajaxで利用される機会の多い JavaScript周りの機能強化も嬉しいところだ。

シンプルかつ洗練されたユーザインタフェース

IntelliJ IDEAを使っていてまず感じるのがユーザインタフェースが非常にシンプルであることだ。たとえばクラスを新規作成する際はウィザードではなく以下のようにクラス名を入力するだけのダイアログが表示される。スーパークラスや実装するインタフェースについてはJavaソースコードを直接編集してくださいというスタンスだ。

図1: Javaクラスの作成

また、[ALT]+[INSERT]で自動生成用の小さなポップアップダイアログを呼び出し、ここからJavaBeanのアクセサメソッドやスーパークラスのコンストラクタ、メソッドのオーバーライドなどの機能を呼び出すことが可能だ。各機能にキーボードショートカットを用意するのではなく、自動生成機能を呼び出すための機能を用意することで多数のキーボードショートカットを覚えなくても操作ができるよう工夫されているのだ。

なお、[ALT]+[INSERT]はProjectビューでも有効だ。この場合、フォーカスがあたっている要素がソースパッケージであればクラスやパッケージの作成、通常のフォルダであればファイルの作成など、コンテキストに応じたメニューが表示される

図2: エディタで[ALT]+[INSERT]

図3: Projectビューで[ALT]+[INSERT]

IntelliJ IDEAのユーザインタフェースには全体的にシンプルさが貫かれており、操作に迷ったり、何を入力すればよいのかわからないということはほとんどないはずだ。