Intellij IDEA无法识别Play 2.0功能
我从Github检出项目,然后运行sbt gen-idea
并在IDEA中打开此项目。其中一个项目模块使用Play 2.0 Framework。Intellij IDEA无法识别Play 2.0功能
但IDEA无法识别特定于Play!的符号。 也就是说我在下面的语句views.html.index
中得到以下错误:cannot resolve symbol index
。
其他特定于Play的错误!框架功能,例如我得到routes
变量相同的错误。
P.S.我已经安装了Play 2.0
,Scala
,SBT
插件也配置播放2.0框架根目录(Project Settings - Play configuration
)
就个人而言,我不从的IntelliJ使用播放插件。使用命令行来编译/生成不同的元素,包括着名的*.template.scala
,在您的cannot resolve symbol index
通知的起源处,总是更快更可靠。
您所要做的就是根据您的应用的根文件夹运行以下命令行:play
然后compile
。当然,不要再使用IntelliJ的Rebuild project
,否则你会从命令行中删除生成的类文件。在处理非管理资源(如模板)时,只需编制一个cmd+F9
即可。
确保您的IntelliJ输出编译配置映射比你的应用程序的文件夹target
同一文件夹(什么sbt gen-idea
(虽然我使用play
然后idea with-sources=yes
)通常便会进行自动配置)。
然后你的IntelliJ项目不会再抱怨一些views.html.index
未解决。
当然,如果你真的想从你的IntelliJ IDE中受益,请确保你安装了最新的Play 2.X plugin。
或者,在IntelliJ中创建一个自定义run
命令,以便考虑SBT编译。
对于任何使用Java Play 2.4.x和IntelliJ 15的人,我的同事们也一直在讨论这个问题。我们安装了Scala插件(它内置了SBT),我们所有的依赖关系都很好。事实证明,这个问题来自于他们开放项目的方式(不要问我为什么)。
务必: 文件 - >新建 - >从现有源项目...
别: 文件 - >打开
在IDEA 2016.1中,我注意到在Scala插件抛出异常之后,Intellij默默禁用它。未来所有尝试导入/打开Play(基于sbt)的项目都失败了。我唯一的线索是Scala没有列在新建项目对话框的语言选择左栏中。我不确定Scala插件是否有问题,或者JetBrains是否使用它。 – devdanke 2016-03-24 05:34:14
对于IDEA 2016.1,这里是打开Play/sbt项目的详细说明。 https://www.jetbrains.com/help/idea/2016.1/getting-started-with-sbt.html? – devdanke 2016-03-24 05:37:44
嗨Mik的,当我使用打主意与来源=是的,不知何故,它抱怨与源不知道:'[错误]不是一个有效的关键:with-sources(类似:观察来源,来源,资源)'你知道为什么吗? – Jaap 2013-05-17 21:52:06
您是否首先单独键入'play'命令,然后输入'idea with-sources = yes'? – Mik378 2013-05-18 20:41:59
我尝试了想法并将其作为play.bat cmdline的参数。将尝试建议的方式,谢谢! – Jaap 2013-05-19 00:37:26