こんにちは!CCIでJavaを使ったWebアプリケーション開発をしているkokokoです。
新卒のころから使っていたEclipseとお別れしてIntelliJに乗り換えたお話を書きます。
環境
OS : Windows 10
IntelliJ : IntelliJ IDEA 2022.1.3 (Community Edition)
※社内ではEclipse勢が多い印象です。
なぜ今、IntelliJに乗り換えるのか
新卒から約5年間「JavaといえばEclipseで開発するもの」というイメージでEclipseを使ってきましたが、気づけばIntelliJがJavaの開発環境のシェアNo1になっていました。
シェアが逆転していることもあってか、入れたいプラグインが提供されていないなど困る場面が出てきたので乗り換えをしてみました。
Eclipseから乗り換えるときにやったこと
1.フォーマッタをImportする
社内で共有しているEclipseからエクスポートしたformatter.xmlがIntelliJにはインポートできません。
フォーマッタのほうを変えてやりたい気持ちもありますが、Eclipseユーザがメインのため自身の開発環境を変えることで対応します。
調べてみたらプラグインが公開されていましたのでこちらを使用します。
設定画面です 細かい設定は必要なく、Eclipseからエクスポートしたformatter.xmlを読み込んでやれば使えます。 古いEclipse用のファイルもImportできるようになっています。
2.MyBatis Generator Plugin→Maven pluginから実行に変更
EclipseではMyBatis Generator実行時に公式プラグインを使っていました。
こちらのプラグインはIntelliJ用のものは公開されていないため、Mavenから実行するように変更しました。
これでEclipseでもIntelliJでもVSCodeでも実行が可能になりました。
※コメントの改行ルールがEclipseプラグイン版と少し違うようで大量の差分が出てしまいましたが、
実行される個所は変わっていないようなので無視します。
3.キーマップを覚えなおす
キーマップはEclipseやVSCodeなどに合わせる機能もありますが、せっかくなので覚えなおします。
EclipseだとCtrl + Rでリソースを開く機能を最も多用していました。
これがIntelliJだとShiftキーを2回押すと「どこでも検索」が起動して同じようなことができます。
IntelliJのどこでも検索はファイルだけでなくシンボルも素早く検索できるのが便利です。
ちなみに、「どこでも検索」のアクションタブ(Ctrl + Shift + A)でアクションを検索するとそこにキーマップも表示されます。
(同じショートカットでも2回押しで結果が変わるようなので覚えねば… )
Eclipseから乗り換えてよかったこと
1.スペルチェック機能が便利
Eclipseにもありますが、IntelliJのスペルチェック機能のほうが修正候補のサジェストがあるなど機能として使いやすいです。
Eclipse使っていたころはよくTypoしていたのですが、IntelliJにしてからTypoが(ほぼ)ゼロになりました。
2.Git連携が使いやすい
EclipseのGit機能が苦手(マージ作業のウィンドウがわかりづらい、一部わかりにくいコマンド名がある… )で、全く使わずに非効率ながらGit操作のみVSCodeを使っていました。
IntelliJのGit機能はかなり使いやすく、Push前に複数コミットのDiffをまとめて表示してくれる機能がお気に入りです。
3.Stream debuggerが便利
現時点ではEclipseにはない機能です。
メソッドチェーンで連結してStreamはデバッグ時に中間処理がどうなっているかわかりづらく、
デバッグ時に悩まされることがありますが、中間処理を含めて詳細なトレースをすることができます。
4.ラムダ式やStreamのサジェストが優秀
メソッド参照に置き換え可能なラムダ式や、冗長なStreamの処理を最適化してくれるサジェストがEclipseより圧倒的に優秀です。
5.モダンなプラグインが多い
VSCodeで使っていて便利なRainbow BracketsもIntelliJにはありますがEclipse版は提供されていません。
IntelliJのシェアがEclipseを上回っているそうなので、使えるプラグインの差はこれからも広がっていきそうです。
Eclipseから乗り換えて困ったこと
大きく困ることはありませんが、最初はEclipseで使っていたパースペクティブ機能がないのに困りました。 パースペクティブ機能はありませんが、サイドバーのタブで似たことができるので、慣れるようにします。
まとめ
Javaの開発環境も進化しており、Eclipseから乗り換えて多くのメリットを享受できました。
実際に開発に取り入れたところ、静的解析機能やスペルチェック機能がEclipseよりも強いため、コードレビュー時の指摘が減り、
(心なしか)Eclipseより軽いので開発のスピードが向上しました。
長い間Eclipseのお世話になってきましたが、これからはIntelliJを布教していきたいと思います。