Intellij idea IntelliJ IDEA报告在控制器中使用路由时突出显示错误
我有一个Scala Play项目。我正在使用Play 2.2.1。我下载了Scala、Play2支持和SBT插件。一切正常,但当我在控制器中调用route on Action时,会出现以下错误(查看屏幕截图): 我正在使用IntelliJ IDEA 12.1.6最终版本。Scala版本2.10.2 有人知道如何解决这个问题吗 提前谢谢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项目结构中打开的项目如下:
编辑 当我通过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对此非常不直观;您可能需要首先将
目录和/或其子目录从排除的文件夹中取出目标
- 对于Scala 2.10,它是
- 应用该更改后,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文件。下面是关于该问题的错误报告:这可能与以下问题有关: