mr.*_*fox 34 intellij-idea scala-2.10 playframework-2.2
我有一个Scala Play项目.我正在使用Play 2.2.1.我下载了Scala,Play 2支持和SBT插件.一切都还可以,但是当我在Controller中调用Route on Action时出现以下错误(Look screenshots):


我正在使用IntelliJ IDEA 12.1.6 Ultimate版本.Scala版本2.10.2
有谁知道如何解决这个问题?
提前致谢!
编辑
当我通过play console中的"play idea"命令生成我的项目到Intellij IDEA时,我在IDEA项目结构中打开项目是这样的:

然后我看到回答@millhouse并讨论这个githup([Play 2.2]"play idea"在目标中创建了不工作的源映射)并从Sources文件夹中删除了以下文件夹:
- 目标\阶-2.10\src_managed \主\控制器
- 目标\斯卡拉2.10\src_managed \主\意见
并且"报告突出显示错误"消失了,但现在还有另一个错误:

和

我的路线:

我已经更改了"Sources Folders",如下所示:

但它对我没有帮助.并且仍然是"未指定的值参数"错误.
wm_*_*die 48
millhouse的回答帮助我找到了正确的答案.播放2.2(可能是早期版本,尚未检查)将路径文件的scala版本输出到project_dir/target/scala-2.10/src_managed/mainSo,以便IntelliJ获得突出显示权限,确保将src_managed/main其添加为源文件夹.javascript的反向路由由于某种原因包含在内,project_dir/target/scala-2.10/classes_managed所以你也必须添加它.(在您的屏幕截图中,它看起来classes_managed被设置为排除,因此您需要通过按右侧的x按钮取消排除它.)
这是我的项目结构的屏幕截图:

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

这是一个常见问题,因为IntelliJ需要显示在哪里查找已编译的 Scala模板和routes文件.以下是我在IntelliJ 12.1安装上修复它的方法:
target/scala-2.10/classestarget目录和/或其中一个子目录从" 排除的文件夹"中取出routes和.scala.html文件编译为另一个源文件的结果,因此它们不会显示为"已损坏",并且自动完成应该适用于它们.