繁体   English   中英

Intellij IDEA和SBT语法错误

[英]Intellij IDEA and SBT syntax error

我是scala和SBT的新手
我开始使用IDEA和SBT并且面临不明确的错误(表达式类型DslEntry必须符合SBT文件中的Def.SettingsDefinition)
在此输入图像描述
这是一个非常简单的带有jetty插件的空测试项目(例子来自插件站点)

这是plugins.sbt源码:

logLevel := Level.Warn

addSbtPlugin("com.earldouglas" % "xsbt-web-plugin" % "2.1.0")

此错误仅出现在IDEA GUI中。 如果我编译项目 - 一切都很好。 从控制台 - 一切都很好。 但是当某些东西不能正常工作时我不喜欢

我试图下载最新版本的SBT并在全局IDEA属性中设置它的路径 - 问题仍然存在。

我下载了最后一个版本的scala插件,sbt插件和另一个插件的intellij IDEA EAP - 问题仍然存在。

任何人都可以帮忙解决这个问题吗?
谢谢

尝试这个:

lazy val root = (project in file(".")).
  enablePlugins(JettyPlugin).
  settings(
    name := "test",
    scalaVersion := "2.11.7",
    version := "1.0"
  )

更新:以下是我所知道的:

该错误来自intellij的sbt插件https://github.com/JetBrains/intellij-sbt/blob/master/idea-plugin/src/main/scala/org/jetbrains/sbt/language/SbtAnnotator.scala#L41

返回类型(project in file(".")). enablePlugins(JettyPlugin) (project in file(".")). enablePlugins(JettyPlugin)Project 这是sbt插件可以接受的。

但是,如果使用独立的enablePlugins(JettyPlugin) ,则返回类型不同 ,并且它变为DslEntry ,这使得sbt插件不满意。 另一种解决方法是简单地使用enablePlugins的返回类型。 例如:

val foo = enablePlugins(JettyPlugin)

这是IntelliJ Scala插件的一个问题,将在即将推出的版本中修复: https//youtrack.jetbrains.com/issue/SCL-8413

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM