極光日記

IntelliJ IDEA Ultimate(有料版) と IntelliJ IDEA Community版(無料版)の違い

作成日

はじめに

IntelliJ IDEA Ultimate(以下有料版) と IntelliJ IDEA Community版(以下無料版)の違いについて私が使う部分についてのみをまとめました。
本稿は網羅的な違いは紹介せず、私がわかる範囲のみ紹介します。例えば、Java EEやJavaによるデスクトップアプリ開発にも差があるかもしれませんが、普段そのあたりの開発をしないため、よくわかりません……。
主にJava、Springを使ったWeb開発に関連する範囲になると思います。

網羅的な差分は公式ページにまとめられています。

なお、言うまでもないですが、そもそも有料か無料かという違いがあります。2025年3月時点で個人が月額払いする場合、毎月2,366円です。

有料版の機能

言語

有料でも無料でもJavaやKotlinなどによる開発はサポートされています。
差があるのはGoやRubyなどJVM以外の言語です。

有料版Goプラグインインストール画面

有料版の場合はGo用のプラグインがあり、これを導入するとJavaなどと同じように高度に補完などを効かせて開発することができます。

無料版Goプラグインインストール画面

一方無料版ではインストールすることができません。
無料版でも普通にGoファイルを開くこと自体はできますが、補完などが効かないため、開発は厳しいです(いわばサクラエディタなどで開くのとほぼ同じ状態になります)

Spring のサポート

IntelliJ IDEA UltimateはSpringを使った開発に関する機能も持っています。

Beanへのジャンプ

有料版では次の画像のようにDIコンテナに登録されるクラス、されてくるクラスに緑色のアイコンがついています。

Navigation through gutter icons

例えば、final TodoService todoService;の行にマークがついています。このマークをクリックするとTodoServiceを実装しているTodoServiceImplへ一気にジャンプできます。
普通にTodoServiceをクリックするだけだとインターフェースであるTodoServiceにジャンプするだけです。
また、逆に@ServiceなどがついているクラスからDI先へジャンプすることもできます。
必須の機能ではないですが、あれば便利で結構使います。

Springプロジェクトの作成

新規Springプロジェクトを作成する画面

Intellij ideaから新規プロジェクトを作成する際にSpring Initializrと同じようなウィザードが表示されます。

Thymeleaf

Thymeleaf編集画面

Thymeleaf補完画面

ThymeleafのテンプレートHTMLファイルを編集する際に変数名の補完などがされます。
普通のエディターではThymeleafはただのHTMLでしかなく、th:textやそれに設定されている変数名もただの文字列でしかないため、この機能もなかなか便利です。

ミスがある編集画面

こちらの画面はtodoTitleaaaaとtypoしてしまっていますが、そのことに対する警告が表示されています。
通常のエディターだとアプリを起動して画面を見てはじめて、ミスに気づくことになるのではないかと思います。

データベース(SQL)

database編集画面

ローカルやリモートのデータースに接続し、データの閲覧、SQLの発行などが可能です。
有料版に課金しなくても無料のデータベースツールはありますが、エディタから直接DBの操作をできるのは便利です。

各種RDBだけでなくMongoDBやRedisなどへの接続も可能です。これだけ守備範囲の広いデータベースツールは貴重です。

mybatisのXML

また、こちらはmybatisのXMLファイルなのですが、エディタをDBに接続するとこのようなファイル中のSQLにも補完などが効きます。
このスクリーンショットはtodo_idxxxというtodoテーブルに存在しないカラムが警告されています。
その他、SQLの文法ミスなどももちろん指摘されます。
実行しないとこのようなミスに気づけないことも多いので、助かります。
mybatisのXMLだけでなく、ORMによってはソース中にSQLを書くこともありますが、その場合も同様の機能が働きます。

リモート開発

リモート開発画面

大雑把にはVS CodeのRemote Developmentと同様の機能です。
SSHで接続した先のサーバーやコンテナ内で開発可能です。
ローカルに開発環境をセットアップする手間が省けるだけでなく、そもそも構築困難な場合にも便利です。
JavaやGoではローカル環境の構築が比較的容易なためあまり使わないですが、個人的にはRubyを使う開発時にこの機能を多用していました。

IntelliJ IDEA UltimateとGoLand(Rubymine、PyCharm、PhpStorm、WebStormなど)との違いについて

最初の「言語」の項目で述べたようにIntelliJ IDEA Ultimate(有料版)でGoのプラグインを導入すればGoの開発が可能です。
したがって、Goの開発をしたい人はIntelliJ IDEA UltimateとGoLandのどちらに課金するかという選択をする必要があります。
公式の比較表はこちらです。また、IntelliJ IDEA Ultimateは個人利用で毎月2,366円、GoLandは毎月1,386円です。
純粋にGoの開発しない場合はGoLand、JVM言語、Python、Ruby、PHPなどの開発もするかもしれない人はIntelliJ IDEA Ultimateに課金することになるでしょう。
個人的にはGoLandのほうが安いとはいえ、IntelliJ IDEA Ultimateも差額の割には開発できる範囲が広く悪くないかな……と思っています。
なお、前述の比較表を見てわかるとおり、どちらもTypescript、Reactなどフロントエンド技術には対応しています。

ここではGoLandを例にしましたが、Rubymine、PyCharm、PhpStorm、WebStormあたりも事情は同じはずです(このあたりは使ったことがあります)。

IntelliJ IDEA UltimateとAll Products Packの違いについて

All Products Packはその名の通り、IntelliJ IDEA Ultimateをはじめとする全種類のエディタを含んだプランです。その分少し高く、個人利用で、毎月4,046円です。

こちらは課金する価値があるでしょうか?

基本的にIntelliJ IDEA Ultimateに課金すればJavaもGoもRubyも対応できます。
したがって、All Products Packへの課金が必須な人はいないはずです。

ただ、JavaとGoを両方開発する人がIntelliJ IDEAとGoLandを使い分けられるというメリットはあります。
一応例えばGoLandはGo開発に余計なJava関連の機能がオミットされており、Go開発に便利になっているようです。
ただ、私は以前All Products Packへ課金しており、両方使っていたこともありますが、並べて見比べないとわからないぐらい差分は少なかったです。
むしろ、複数のエディタに空白文字の表示など共通の設定を入れるのが面倒で、さらにエディタ自体も結構PCの容量を食ってしまうため、結局IntelliJ IDEAしか使わなくなってしまいました。

個人的にはAll Products Packに課金するべき人は多くなさそうだと思います。

まとめ

ここまでいろいろ有料版のメリットを記載してきました。しかし、私は諸事情で仕事では無料版、家では有料版を使っています。Java、KotlinによるSpringのWeb開発をしていますが、その範囲だと無料版でも不便を感じることはほとんどありません。
ただ、必須ではないにしても有料版は確かにいろいろ便利なので、個人的に感じるその便利な点を紹介してみました。
また、IntelliJ IDEA Ultimateは30日無料で利用できます。それで試してみるのも良いと思います。