IntelliJ IDEAのPros and Cons
最近IntelliJネタばっかりですが、自分が使った範囲で感じたIntelliJの良いところ、良くないところをまとめて書いてみます。
IntelliJの良いところ
- 周辺言語のサポート
- Scala, Groovy, HTML(*), JS(*), Flex(*)などのサポートが手厚い。Javaの開発に近いレベルで、リファクタリング、コード解析、整形等ができる。Scalaプラグインの完成度は、現時点ではEclipseやNetBeansのプラグインを圧倒しているし、Flexもコードエディタに限ればFlex Builderより高機能。(*はUltimate Editionのみ)
- コード解析
- コード解析機能が充実している。FindBugs/CheckStyleと同等以上のインスペクション、推論付き補完、データフローの解析、コード構造の検索/置換(*)、重複コードの検出(*)など。(*はUltimate Editionのみ)
IntelliJの良くないところ
- インクリメンタルビルドがない
- 編集中のコードのエラーはリアルタイムに把握できるが、プロジェクト全体のエラーはビルドするまで分からない。実行時、ビルドが終わるまで待たされる。
- インデックス構築が遅い
- プロジェクトの作成/オープン時、インデックス構築で数分待たされる。一応バックグラウンド化できるが、その間は基本機能しか利用できない。
- 操作体系が独特
- 3種類の補完を場面に応じて使い分ける必要があるなど、操作体系が独特。ただし、慣れれば逆に快適になるはず(補完を使い分けた方が、候補リストのスコープが狭くなって選択しやすいなど)。