Intellij IDEA и SBT синтаксическая ошибка

Я новичок в скале и SBT
Я начал использовать IDEA с SBT и столкнулся с неясной ошибкой (тип выражения DslEntry должен соответствовать Def.SettingsDefinition в файле SBT)
введите описание изображения здесь
Это очень простой пустой тестовый проект с плагином Jetty (пример взят с сайта плагина)

вот источник plugins.sbt:

logLevel := Level.Warn

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

Эта ошибка присутствует только в графическом интерфейсе IDEA. Если я скомпилирую проект - все нормально. с консоли - все нормально. Но я не люблю, когда что-то не работает должным образом

Я попытался загрузить последнюю версию SBT и указать путь к ней в глобальных свойствах IDEA - проблема сохраняется.

Я скачал последний intellij IDEA EAP с последней версией плагина scala, плагина sbt и других плагинов - проблема сохраняется.

Кто-нибудь может помочь решить эту проблему?
Спасибо

2 ответа

Решение

Попробуй это:

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.

Тип возврата (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

Другие вопросы по тегам