如何消除 IntelliJ 14.0.3 for Play 2.3.7 应用程序中的错误下划线?

How to eliminate error underlining in IntelliJ 14.0.3 for Play 2.3.7 application?

我正在使用 IntelliJ IDEA 14.0.3 开发一个使用 Scala 1.3.3 插件的 Play 2.3.7 应用程序。

所附的屏幕截图显示 IntelliJ 将渲染方法的参数强调为无效,而事实上,系统在 IntelliJ 和命令行(使用 Activator)中编译并成功运行:

当视图模板文件使用 Scala 特定语法(即 Form[formdata.ContactFormData])而控制器使用 Java 特定语法(即 Form<formdata.ContactFormdata> 时,另一个用户在 IntelliJ 中报告了这个问题).这里也是如此。

说明此问题的资源位于:https://github.com/philipmjohnson/intellij-play-error-highlight-problem

这确实是 IntelliJ 或其 Scala 插件中的错误吗?有什么解决方法吗?

我和我的团队在使用 Intellij 14.0.3、Scala 1.3.3 插件和 Play 2.3.8 时遇到了同样的问题。

为了解决这个问题,我打开文件 --> 项目结构,然后单击左侧栏中的 "Modules"。将 target/scala-2.11/src_managed/main 添加到源中可消除这些反向路由下划线。确保根 target 目录不在排除的文件夹中。

但是要注意的一件事是,Intellij 似乎不时从源代码中删除它,造成很多烦恼...

上述解决方案有效,但我认为记录涟漪效应可能有用:如果您使用的是 Checkstyle 插件,那么在添加这些额外的源根目录后,Checkstyle 将处理那些自动生成的 Java 文件并(很可能)引发一些(虚假的)警告。

经过一番摆弄,似乎让 Checkstyle 跳过这些文件的最简单方法是将 "Inspection Scope" 指定为 "Default" 版本控制范围。由于您几乎肯定会从版本控制中排除 target/ 目录,因此 Checkstyle 的这个参数使其保持直截了当。这是说明设置的屏幕图像: