Groovyの開発環境について
最近JavaのGradleプロジェクト(以降、親プロジェクト)に組み込むツール作りでGroovyのGradleプロジェクト(以降、子@プロジェクト)を作成した。やりたいこととしては親プロジェクトのGradleタスクにこプロジェクトのタスクを組み込むことで、その機構自体はすぐにできた。ただ子プロジェクトのレビュー、およびリファクタリングをするにあたり便利なIDEが決まらず悩んでしまったのでそれについて記載する。
結論何を採用したのか?
結論IntelliJ Communityを採用した。ただ親プロジェクトではVSCodeを使用しているため、可能であればVSCodeを使用したかった。
なぜVSCodeが不採用だったのか?
結論、既存の拡張機能を使ってimport予測ができないからである。
分かる人は分かるが、VSCodeでEclipseやIntelliJのようなimport予測をVSCodeで実現させるには「Language Server」なるものが必要になる。VSCodeの拡張機能でGroovyの「Language Server」は存在しないのである。これを組み込んでいないプロジェクトではimport予測ができない。
もちろん考えている人がいないわけではない。例えば、以下のリポジトリではマーケットプレイスには出していないが、VSCodeの拡張機能として使用できるよう試験的に設定ファイルが存在するようだ。どうしてもVSCodeで組み込みたい方はこちらを使用すると良い。今回は管理の都合上、子プロジェクトの開発環境からは不採用となってしまったが、拡張機能の作成には非常に労力を使うため、言語普及への多大な貢献としてここに敬意を示したい。
またMoonshine IDEであれば上記の拡張機能が使用できるそうなので、こちらを採用するのも一つかもしれない。
まとめ
Gradle+Groovyの開発環境はIntelliJを使うと良いというお話しでした。ただ私は拡張機能を全て網羅しているわけではないので、もしVSCodeの拡張機能でGradle Language Serverに該当する、もしくは代替するものがあればぜひ教えていただけるとありがたい。