android-studio - Android Studio 3.3.1 中的语法高亮消失了

标签 android-studio syntax-highlighting

最近,语法高亮显示在 Android Studio 中对我不起作用。

而且我认为这与我的项目有关,而不是 Android Studio 本身。


据我了解,当我打开某些文件并且未执行语法突出显示时会抛出以下错误消息。但是,如果我通过删除一行左右的代码来编辑文件,语法高亮显示将再次出现。

浏览并搜索堆栈跟踪并没有给我任何可能出错的真正指示,所以我在这里。你知道什么可能是错的吗?

我已经尝试清除缓存、重新安装并在 Android Studio 中使用不同的设置进行播放,但没有任何效果,这让我相信这与项目直接相关。此外,如果我创建一个新项目,语法突出显示会正常工作。

我看到的...

Without syntax

完整的堆栈跟踪...

org.jetbrains.kotlin.idea.caches.lightClasses.LazyLightClassMemberMatchingError$NoMatch: Couldn't match ClsMethodImpl:hashCode MemberIndex(index=10) (with 0 parameters)
        at org.jetbrains.kotlin.idea.caches.lightClasses.LazyLightClassDataHolder.assertMatches(LazyLightClassDataHolder.kt:145)
        at org.jetbrains.kotlin.idea.caches.lightClasses.LazyLightClassDataHolder.access$assertMatches(LazyLightClassDataHolder.kt:32)
        at org.jetbrains.kotlin.idea.caches.lightClasses.LazyLightClassDataHolder$LazyLightClassData$getOwnMethods$$inlined$map$lambda$1.invoke(LazyLightClassDataHolder.kt:138)
        at org.jetbrains.kotlin.idea.caches.lightClasses.LazyLightClassDataHolder$LazyLightClassData$getOwnMethods$$inlined$map$lambda$1.invoke(LazyLightClassDataHolder.kt:100)
        at kotlin.SafePublicationLazyImpl.getValue(LazyJVM.kt:107)
        at org.jetbrains.kotlin.asJava.elements.KtLightMemberImpl.getClsDelegate(KtLightMemberImpl.kt)
        at org.jetbrains.kotlin.asJava.elements.KtLightMemberImpl$_modifierList$2.invoke(KtLightMemberImpl.kt:47)
        at org.jetbrains.kotlin.asJava.elements.KtLightMemberImpl$_modifierList$2.invoke(KtLightMemberImpl.kt:35)
        at kotlin.SafePublicationLazyImpl.getValue(LazyJVM.kt:107)
        at org.jetbrains.kotlin.asJava.elements.KtLightMemberImpl.get_modifierList(KtLightMemberImpl.kt)
        at org.jetbrains.kotlin.asJava.elements.KtLightMemberImpl.getModifierList(KtLightMemberImpl.kt:52)
        at org.jetbrains.kotlin.asJava.elements.KtLightMethodImpl.getModifierList(KtLightMethodImpl.kt:127)
        at com.intellij.codeInsight.AnnotationUtil.isAnnotated(AnnotationUtil.java:244)
        at com.intellij.codeInsight.AnnotationUtil.lambda$isAnnotated$4(AnnotationUtil.java:234)
        at java.util.stream.MatchOps$1MatchSink.accept(MatchOps.java:90)
        at java.util.Spliterators$ArraySpliterator.tryAdvance(Spliterators.java:958)
        at java.util.stream.ReferencePipeline.forEachWithCancel(ReferencePipeline.java:126)
        at java.util.stream.AbstractPipeline.copyIntoWithCancel(AbstractPipeline.java:498)
        at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:485)
        at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471)
        at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:230)
        at java.util.stream.MatchOps$MatchOp.evaluateSequential(MatchOps.java:196)
        at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
        at java.util.stream.ReferencePipeline.anyMatch(ReferencePipeline.java:449)
        at com.intellij.codeInsight.AnnotationUtil.isAnnotated(AnnotationUtil.java:234)
        at com.intellij.codeInsight.MetaAnnotationUtil.isMetaAnnotated(MetaAnnotationUtil.java:154)
        at com.intellij.execution.junit.JUnitUtil.lambda$isJUnit5TestClass$1(JUnitUtil.java:280)
        at com.intellij.psi.util.CachedValuesManager.lambda$getCachedValue$0(CachedValuesManager.java:140)
        at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
        at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
        at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:60)
        at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
        at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:87)
        at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:139)
        at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:126)
        at com.intellij.execution.junit.JUnitUtil.isJUnit5TestClass(JUnitUtil.java:276)
        at com.intellij.execution.junit.JUnit5Framework.isTestClass(JUnit5Framework.java:52)
        at com.intellij.testIntegration.JavaTestFramework.isTestClass(JavaTestFramework.java:64)
        at com.intellij.codeInsight.TestFrameworks.computeFramework(TestFrameworks.java:92)
        at com.intellij.codeInsight.TestFrameworks.lambda$detectFramework$0(TestFrameworks.java:63)
        at com.intellij.psi.util.CachedValuesManager.lambda$getCachedValue$0(CachedValuesManager.java:140)
        at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
        at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
        at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:60)
        at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
        at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:87)
        at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:139)
        at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:126)
        at com.intellij.codeInsight.TestFrameworks.detectFramework(TestFrameworks.java:62)
        at org.jetbrains.kotlin.idea.core.platform.impl.JvmIdePlatformKindTooling.getTestIcon(JvmIdePlatformKindTooling.kt:60)
        at org.jetbrains.kotlin.idea.highlighter.KotlinTestRunLineMarkerContributor.getInfo(KotlinTestRunLineMarkerContributor.kt:66)
        at com.intellij.execution.lineMarker.RunLineMarkerProvider.getLineMarkerInfo(RunLineMarkerProvider.java:46)
        at com.intellij.codeInsight.daemon.impl.LineMarkersPass.queryProviders(LineMarkersPass.java:174)
        at com.intellij.codeInsight.daemon.impl.LineMarkersPass.lambda$doCollectInformation$3(LineMarkersPass.java:96)
        at com.intellij.codeInsight.daemon.impl.Divider.divideInsideAndOutsideInOneRoot(Divider.java:80)
        at com.intellij.codeInsight.daemon.impl.LineMarkersPass.doCollectInformation(LineMarkersPass.java:91)
        at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:69)
        at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$null$1(PassExecutorService.java:423)
        at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1164)
        at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$doRun$2(PassExecutorService.java:416)
        at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:580)
        at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:525)
        at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:85)
        at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.doRun(PassExecutorService.java:415)
        at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.lambda$run$0(PassExecutorService.java:391)
        at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:147)
        at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:222)
        at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:389)
        at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:161)
        at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
        at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
        at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
        at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

最佳答案

自然而然地,在发布问题时,解决方案会在不久后自行显示。

我在一个类(实体)中覆盖了 equals 和哈希码,并且两种方法都标记为 final方法。每当数据类扩展实体时,问题就会出现,我猜是因为它试图创建自己的 equals 和 hashcode 方法,但不能。

希望这对其他人有帮助!我认为该行为是正确的(数据类具有非常具体的等号/哈希码),因此我不认为这是 Kotlin 插件中的错误,但将来最好提供更好的错误消息。

关于android-studio - Android Studio 3.3.1 中的语法高亮消失了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54823556/

相关文章:

android - 由于 : 'null' - Android Studio 3. 5,安装失败

Vim:查看作用于当前单词/字符的高亮规则?

swift - LaTeX for Swift 中的代码高亮显示

javascript - 如何在 Ace 编辑器中启用实时语法检查

android - 在 Android Studio 中创建一个新的图标集?

android - 如何在android studio中导入facebook sdk?

android - 在 Android Studio 中启用 R8 Shrinker 时超出 GC 开销限制

visual-studio-2010 - 我在哪里可以更改 VS10 中的 Asp.net MVC 3 Razor 语法高亮显示?

batch-file - 使用语法高亮在 Unix 中打开 .bat 文件

android - Text to Speech 不能在 API 级别 30 中工作,而不是英语