GitBucketではHTMLのレンダリングにTwirlを使っており、IntelliJのScalaプラグインに付属しているTwirlエディタを便利に使用しているのですが、どういうわけかこのTwirlエディタがdefining
を認識せず、defining
で定義した変数の補完が効かなかったりエディタ上でエラーとして表示されてしまうという点を不便に感じていました(Playプロジェクトじゃなから?)。
ずっと諦めていたのですが、最近IntelliJの設定をあれこれ見直しているとフレームワークのPlay2の設定のところにインポートの設定があることに気づいたので、ここにdefining
を提供しているplay.twirl.api.TwirlFeatureImpots._
を追加してみたところ、無事definingを認識するようになりました。
巨大かつ複雑なテンプレートほどdefining
で変数を定義したくなるので、今まで結構不便だなぁと思っていたのですが、これでだいぶ快適になりました。ただ、この他にもmapでcaseを使って分解した変数を認識してくれないことがあったり(ちゃんと認識してくれるケースもある)、Twirlエディタの挙動は結構謎な感じがありますね…。