IntelliJ IDEA 中 Twirl 模板中隐式变量的代码帮助
Posted
技术标签:
【中文标题】IntelliJ IDEA 中 Twirl 模板中隐式变量的代码帮助【英文标题】:Code assistance in IntelliJ IDEA for implicit variables in Twirl Template 【发布时间】:2015-08-17 02:37:31 【问题描述】:我正在使用 Play!框架和 Twirl 模板引擎,使用 IntelliJ IDEA。在模板中有许多可用的隐式变量(flash、session、requestHeader)。我可以成功引用这些变量中的任何一个,并且我的应用程序将按预期编译和运行。但是,由于这些变量没有明确声明,IDEA 会显示错误(例如,无法解析符号闪存)并且不提供任何代码帮助。虽然这不是一个大问题,但如果可能的话,我想解决这个问题。
我已经搜索了很多解决方案,JetBrains blog 有一篇关于如何为 Velocity 模板执行此操作的帖子,如果有人可以帮助我为 Twirl 模板做同样的事情,我将非常感激!
杰克逊
【问题讨论】:
【参考方案1】:我找到了解决这个问题的方法,就是在代码中引用全限定名,即。访问闪存变量使用
@play.mvc.Http.Context.Implicit.flash
这个也可以在模板顶部导入,然后在代码中直接引用@flash即可。
这不应该是必要的 - 玩!在没有显式导入它们的情况下知道这些变量,这只是为了 IDEA 的缘故。奇怪的是,我发现通过 IDEA 创建一个新项目后,它确实提供了预期的行为——我可以简单地使用 @flash 而不使用导入,IDEA 会按预期工作。但是,一旦我关闭并重新打开项目,就会出现同样的问题。
目前这是我找到的最佳解决方案,尽管我已联系 IntelliJ 支持,如果他们提供更好的解决方案,我会相应地更新我的答案。
【讨论】:
以上是关于IntelliJ IDEA 中 Twirl 模板中隐式变量的代码帮助的主要内容,如果未能解决你的问题,请参考以下文章
TwirlKeys.templateImports with Play 未在 IntelliJ IDEA 模板文件中解析
如何在 Android Studio / JetBrains IntelliJ IDEA 中编辑模板?