TLDR; IntelliJ не выделяет никаких ошибок (синтаксис / несоответствие типов) в моем Scala проекте. Я пробовал подсветку с учетом типов, установил уровень подсветки «Инспекции» и включил «Экспериментальные функции» в соответствии с ответами StackOverflow и перезагрузил проект.
У меня есть проект Scala 2.13 (sbt) это прекрасно работало в IntelliJ 2019.3. После этого я внес некоторые изменения (я не проверял, скомпилирован ли он, и в нем было несколько ошибок), а затем я решил перенести его на Dotty (а также обновил IntelliJ до 2020.1 EAP). Я создал новый проект Dotty, в котором явно не было ошибок.
Затем я скопировал все мои исходные файлы в этот проект и изменил файл build.sbt. Когда я это сделал, я увидел несколько выделенных синтаксических ошибок, и ключевое слово given
не было обнаружено в качестве ключевого слова, скорее всего потому, что плагин думал, что язык должен был быть Scala 2, а не Scala 3.
После этого я импортировал проект из sbt, и неправильные синтаксические ошибки исчезли, поэтому я благополучно закрыл этот файл и начал исправлять остальные. Я не уверен, что подсвечивание ошибок сначала работало, а потом отключалось, или оно никогда не работало. Через некоторое время я понял, что неразрешенные ссылки не были выделены - например, когда я неправильно ввел имя класса и попытался go к объявлению, он ничего не сделал, хотя, когда я его исправил, он мог разрешить ссылка, вероятно, потому что это был один из файлов, в котором не было ошибок. Затем я увидел, что синтаксические ошибки также не распознаются.
У меня включена подсветка с учетом типов, и уровень подсветки установлен для проверок. Я использую IntelliJ 2020.1 EAP с Scala плагином build 2020.1.977 (EAP). Build.sbt содержит scala версию "0.23.0-RC1". IntelliJ не запускал никаких других процессов, и в то время на моем компьютере не было ресурсоемких программ.
В правом нижнем углу я получил несколько сообщений об ошибках, таких как
java.lang.AssertionError: assertion failed
(пара раз)
com.intellij.psi.PsiInvalidElementAccessException: Element: class org.jetbrains.plugins.scala.lang.psi.impl.statements.params.ScTypeParamImpl #Scala because: different providers: org.jetbrains.plugins.scala.lang.psi.ScFileViewProvider{vFile=file:<The path>/Pattern.scala, content=VirtualFileContent{size=1716}, eventSystemEnabled=true}(a24437); org.jetbrains.plugins.scala.lang.psi.ScFileViewProvider{vFile=file:<Same path>/Pattern.scala, content=VirtualFileContent{size=1716}, eventSystemEnabled=true}(b39181a) invalidated at
(этот всплывал несколько раз)
У меня такое чувство, что это просто ошибка с Дотти, которая скоро будет устранена. Плагин Scala Nightly имел похожее поведение, поэтому я переключился на EAP, а также создал совершенно новый проект, который, как я предполагал, будет менее глючным. Будем очень благодарны за любые предложения.
То же самое происходит с моим старым проектом Scala 2, когда я открываю его в IntelliJ 2020.1 EAP, но не в 2019.3. Теперь кажется, что это не вещь, определяемая Дотти c.