とある技術者がEclipseからIntelliJ IDEAに乗り換えるまでの10日間

こんにちは、アーキテクトのQZ西垣です。
今回は、IDEとして10年間Eclipseを使い続けてきた自分がIntelliJ IDEA(以下IDEA)に乗り換えるまでのお話です。

そもそもなんで乗り換えるのか

10年間Eclipseを使い続けてきて、正直大きな不満はありませんでした。
確かJJUG CCC 2018 Springでサムライズムさんのライトニングトークがあって、そこで世界のIDEシェアでIDEAが1位になったという話を伺い、ちょっと興味が湧いたのです。
無料のEclipseがあるにもかかわらずフル機能版のUltimateエディションだと有償となるIDEAがそれほどシェアを拡大するというのは、きっとEclipseにはない何かがあるに違いない、だったら一度使ってみたい、そんなふうに思いました。
しかし無償のCommunityエディションは開発に絶対必要なサーバサイドの機能が欠落しており、またUltimateエディションの評価期間1ヶ月というのはちょっと短いと感じていました。
その後しばらく経ち8月頃だったでしょうか、IDEAのライセンスが期間限定で大幅値引されていたのです。これはいい機会とばかりに購入しました。しかしなかなか手をつける状況にならず、そのまま2ヶ月以上死蔵してしまう羽目に陥ることになります。
そして先日ようやっとプロジェクトに一段落ついたので、せっかくだからと使い始めてみたのです。

社内でIDEA使っても大丈夫?

アトラスでは使用するソフトウェアをホワイトリスト・ブラックリストで管理しています。
使用申請したソフトウェアは、セキュリティ委員会による審査の後ホワイトリストに登録され使用可能となります。もちろんブラックリストに登録され使用不可となる場合もありますが、めったにありません。
なおアトラスでは、ホワイトリストに登録さえされていれば、開発に使用するソフトウェアについて制限はありません。多くのメンバがeclipseを使用していますが、Visual Studio CodeやAtomを使用しているメンバもいます。
そんなわけで、会社によっては使うツールを制限されているケースもありますが、アトラスでは比較的自由に使うことができるので、もちろんIDEAも使えます。

1日目

Eclipseのプロジェクトをインポートしようとしたらすでに入っていた。前に評価版使ったときに入れたらしい。よく覚えてないけれど。
JDKを確認する。バージョンが古かったので更新して設定変更。アレとかソレの事情でまだJava11使えない。はやく対応してくれないかな。
CheckStyleとコードフォーマッタにEclipseと同じものを指定。設定UIも似たような感じなのでちょっと調べるだけでできた。
折角買ったハンズオンはここまでのところガン無視。仕事終わった後で読もう。

2日目

いつもの癖でEclipseを立ち上げる。そうじゃない。
ショートカットキーがEclipseと全然違うので戸惑う。しかしIDEAと生きていくと決めたのでEclipseのキーアサインで使うつもりはない。
意外なのはデフォルトでJavaDocがポップアップされないこと。邪魔だと判断されたのかな。
適当に操作してて思いもよらない機能が見つかったりもする。どこかにメモしておいたほうがいいかもしれない。
最近はだいたいそうなんだけどWebで調べたら困った事態は解決できる。ただこれでは系統だった知識にはならないのでハンズオン読まないでいいということではない。今日も読まねば。

3日目

大きな進展はなし。コンパイルエラーがわかりにくい。もっとわかりやすくする方法ないかな。

4日目

テストクラスを自動作成する方法にちょっと戸惑う。テストクラスが存在しない状態でテストクラスへ移動しようとするとできた。
実装への移動に無意識でoption+F3を押してしまう。そうじゃない。早く体に覚え込ませないと。
ラムダ式を書いたらメソッド参照に自動変換できるよみたいなメッセージが表示されたけれど設定方法がわからない。困った。

5日目

進展なし。無念。

インターミッション

週末に自宅でちょこちょこいじってみる。
職場はMacだが自宅はWindowsなので、キーアサインが全然違っていて大変戸惑う。
なんとかなりませんかJetBrainsさん。

6日目

GitHub関連の設定をしようとしたら運悪くGitHubが不調の模様。
streamの格納先変数を予めListやSetで宣言しておくと、collectすると勝手にCollectors.toList()やCollectors.toSet()が補完される。いいね。
Project StructureのModulesで+押したらなんかいい感じのが勝手にできた。何の設定なのかいまいち把握してないけれど。

7日目

Webで調べたりそれらしい項目を設定していたら、IDEAからデバッグでTomcatを起動できるようになった。これでもうEclipseとはおさらばだ!

8日目

Git関連をいろいろ操作してみるが、これに関しては専用クライアント使用したほうが自分には分かりやすい。適材適所だ。
importのソート順を設定してみる。デフォルトのソート順は違和感がある。
Postfix Completionに手を出してみる。慣れると便利そう。
まだたまにEclipseを使いたいときがある。おさらばできなかった。

9日目

Live Templateをいじってみる。
既存のものだけでは不足していると感じたからだ。
それにしてもいろんな機能があるものだ。

10日目、そしてこれから

ついに今日は一度たりともEclipseを立ち上げることなく仕事を完遂した。やったね!
まだまだ機能の隅々まで使いこなすには至らないけれども、やりたいことの大半はIDEAで実現できる。
しかしまだTypeScriptで開発する環境は整えていない。いつかTypeScriptもIDEAで開発できるようにしなければならない。

まとめ

IDEAは機能が非常に豊富ですが、そのこと自体やパースペクティブが無いなどの設計思想の違い、キーアサインが異なる(これは設定で回避できる)ことから、Eclipseを使い慣れた人にとっては正直取っ付き辛い面があるのは事実です。
しかし使い慣れてしまえば、明らかに高機能高性能なこともあって、手放し難いツールになるのは間違いありません。
少々のお金は必要になりますが、それだけの価値があることも間違いありません。
多分また特価になると思うので(特価にしてくださいサムライズムさん)、その機会を逃さず導入してみてはいかがでしょうか。