Intellij idea IntelliJ IDEA报告在控制器中使用路由时突出显示错误

Intellij idea IntelliJ IDEA报告在控制器中使用路由时突出显示错误,intellij-idea,scala-2.10,playframework-2.2,Intellij Idea,Scala 2.10,Playframework 2.2,我有一个Scala Play项目。我正在使用Play 2.2.1。我下载了Scala、Play2支持和SBT插件。一切正常,但当我在控制器中调用route on Action时,会出现以下错误(查看屏幕截图): 我正在使用IntelliJ IDEA 12.1.6最终版本。Scala版本2.10.2 有人知道如何解决这个问题吗 提前谢谢 编辑 当我通过play console中的“play IDEA”命令将我的项目生成到Intellij IDEA时,我在IDEA项目结构中打开的项目如下:

我有一个Scala Play项目。我正在使用Play 2.2.1。我下载了Scala、Play2支持和SBT插件。一切正常,但当我在控制器中调用route on Action时,会出现以下错误(查看屏幕截图):

我正在使用IntelliJ IDEA 12.1.6最终版本。Scala版本2.10.2

有人知道如何解决这个问题吗

提前谢谢


编辑

当我通过play console中的“play IDEA”命令将我的项目生成到Intellij IDEA时,我在IDEA项目结构中打开的项目如下:

然后我看到了answer@millhouse并讨论了这个githup(),我从源文件夹中删除了以下文件夹:

  • target\scala-2.10\src\u managed\main\controllers
  • target\scala-2.10\src\u managed\main\views
和“报告突出显示错误”消失,但现在有另一个错误:

我的路线:

我更改了“源文件夹”,如下所示:


但这对我没有帮助。并保留“Unspecified value parametrs”错误。

这是一个常见问题,因为IntelliJ需要显示在何处查找编译的Scala模板和
路由
文件。下面是我如何在IntelliJ 12.1安装中修复它的:

  • 转到IntelliJ中项目的模块设置(选择顶层,点击F4)
  • 在出现的“项目结构”窗口中选择“模块”项
  • 选择projectname项(与projectname生成项相反)
  • 将编译器的输出目录添加到源文件夹中;
    • 对于Scala 2.10,它是
      target/Scala-2.10/classes
    • 我个人认为智能UI对此非常不直观;您可能需要首先将
      目标
      目录和/或其子目录从排除的文件夹中取出
  • 应用该更改后,IntelliJ应该可以看到编译每个
    路由
    .scala.html
    文件的结果,因为它们只是另一个源文件,所以它们不会显示为“已损坏”,自动完成应该对它们起作用

    • 米尔豪斯的回答帮助我找到了正确的答案。Play 2.2(可能是早期版本,尚未选中)将路由文件的scala版本输出到
      project_dir/target/scala-2.10/src_managed/main
      ,因此IntelliJ要正确突出显示,需要确保将
      src_managed/main
      添加为源文件夹。由于某种原因,javascript的反向路由包含在
      project\u dir/target/scala-2.10/classes\u managed
      中,因此您还必须添加它。(在您的屏幕截图中,
      classes\u managed
      被设置为excluded,因此您需要按右侧的x按钮取消排除。)

      以下是我的项目结构的屏幕截图:

      更新

      在Play 2.3(或者IntelliJ的最新版本)中,添加_管理的类不再解决问题。不要将管理的类添加到项目的源中,而是将其添加到项目的依赖项中。通过这样做,IntelliJ应该能够获取已编译的routes.class


      @Millhouse为什么只在sources文件夹中添加“target/scala-2.10/classes/views”?为什么不添加“target/scala-2.10/classes/controllers”和“target/scala-2.10/classes/models”文件夹Sources文件夹?@boyfox先生你是对的,我已经更新了我的答案,这样你的
      路由
      ,和
      。scala.html
      模板文件都应该被选中。谢谢@millhouse,我尝试了这个,但出现了另一个错误,如果在执行文件>使缓存无效时仍然出现错误,请参阅我的编辑。重新启动可能会有所帮助。工作得很有魅力!我没有管理的
      文件夹(播放scala简介模板,播放2.4.1):(我仍在试图弄清楚我必须做些什么才能让它与Play 2.4一起工作…@wm_eddie:尝试从头开始重新导入项目,即删除/重命名.idea子目录,并重新按照以下说明操作:-解决了我的问题。升级idea/Play时可能会留下一些积垢。升级到IntellijIDEA 13并使用
      File->Import Project
      并选择
      SBT Project
      。不再需要使用
      play IDEA
      生成IDEA文件。下面是关于该问题的错误报告:这可能与以下问题有关: