【问题标题】:Extremely slow in autocompletion & code analysis for Kotlin projects in Intellij IDEAIntellij IDEA 中 Kotlin 项目的自动完成和代码分析速度极慢
【发布时间】:2017-08-09 03:54:18
【问题描述】:

我们在 IDEA 上有一个项目,其中包含几个中等大小的 Java 包和一个非常小的 Kotlin 包(5 个文件)。我注意到任何 Java 包的性能都很好,但是对于非常小的 Kotlin 包,它在自动完成、代码分析和编译方面要慢 10 倍。自动完成有时会很慢,以至于弹出窗口无法加载所有方法,并且必须逐步加载几个 API。每次我们的开发人员键入一个单词并等待自动完成时,预期的自动完成需要大约 2-5 秒才能显示出来。有时自动完成功能太慢而无法显示任何内容,我们不得不取消单词并重新输入并等待。在代码分析中也会出现同样的缓慢。这极大地影响了我团队的生产力。根据我们的研究,这似乎是一个众所周知的长期问题。这也发生在我们的另一个小项目中。我想知道我们能做些什么来解决这个问题?谢谢。

Kotlin 插件是最新的,版本:1.1.3-release-IJ2017.2-2 Intellij 也在最新版本 2017 2.1(于 2017 年 7 月 31 日构建)

【问题讨论】:

标签: intellij-idea kotlin intellij-plugin kotlin-android-extensions


【解决方案1】:

在 Kotlin 1.3.50 中仍然存在。通过在Settings > Editor > General > Auto Import 中禁用Add unambiguous imports on the fly 得到解决

【讨论】:

  • 仍然发生在IntelliJ 11.0.5 中,此复选框未选中(默认情况下和现在都没有)
【解决方案2】:

我最近在一个 Kotlin gradle 多模块项目中遇到了这个问题。通过大量增加 vmoptions 中的内存设置,我设法恢复了良好的代码分析和完成速度,这就是它们现在的样子

-Xms512m
-Xmx16384m
-XX:ReservedCodeCacheSize=960m
-XX:+UseConcMarkSweepGC
-XX:SoftRefLRUPolicyMSPerMB=100
-ea
-XX:CICompilerCount=2
-Dsun.io.useCanonPrefixCache=false
-Djava.net.preferIPv4Stack=true
-Djdk.http.auth.tunneling.disabledSchemes=""
-XX:+HeapDumpOnOutOfMemoryError
-XX:-OmitStackTraceInFastThrow
-Djdk.attach.allowAttachSelf=true
-Dkotlinx.coroutines.debug=off
-Djdk.module.illegalAccess.silent=true
-Dawt.useSystemAAFontSettings=lcd
-Dsun.java2d.renderer=sun.java2d.marlin.MarlinRenderingEngine
-Dsun.tools.attach.tmp.only=true

【讨论】:

  • 我在使用 Kotlin-1.3 时遇到了这个问题,这个解决方案对我有用,它对 Xms1024 的价值稍高一些,而且你在解决方案中提到了。感谢分享。
  • 您在哪里更改 vmoptions?是导致Library > Application Support > JetBrains > IntelliJIdea2020.3 > idea.vmoptions 文件的“编辑自定义虚拟机选项...”操作吗?
  • 帮助 -> 为 intellij 2021.1.2 CE 编辑自定义 VM 选项
【解决方案3】:

您的快照中可见的问题已在 Kotlin 1.1.4 中得到解决。在撰写本文时,它以 EAP(早期访问预览)版本的形式提供;最终版本将很快发布(并与 IntelliJ IDEA 2017.2.2 捆绑在一起)。

【讨论】:

  • 它回到 Kotlin 1.3.31 了吗?我现在刚从 Java 切换过来.. 伙计,代码完成太慢了。我的意思是,我可以打字比等待自动完成更快。什么?我敢肯定它不应该是这样的。谷歌说开发者喜欢 Kotlin ......
  • 我有同样的问题.. 尤其是项目中的一个文件有 1xxx 行代码。每次输入都需要 2 秒才能显示自动完成......太糟糕了。
  • 尽管 JetBrains 最近做了很多改进,但 Kotlin 的自动补全和高亮显示速度仍然很糟糕。我真的希望他们能尽快解决问题,随着 Java 所做的所有改进,我很想回去。 IDE 速度至关重要。
  • 用 IntelliJ Ultimate 2020 和 kotlin 1.3 和 kotlin 1.4 面对这个问题
【解决方案4】:

我已联系 JetBrian 并向 YouTrack 提交了请求。在查看 CPU 快照后,升级 Kotlin 插件 1.1.4-eap 似乎可以解决这个问题,其中包含一个主要的性能修复。刚刚试了一下,效果很好!

【讨论】:

    【解决方案5】:

    您可以将 Kotlin 版本更改为其他版本,然后再次 gradle sync 这将解决问题

    你会在 build.gradle 文件(项目)中找到它

    ext.kotlin_version = "1.5.21"
    
     classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    

    【讨论】:

      猜你喜欢
      • 2020-03-02
      • 2022-09-27
      • 2019-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-25
      • 2016-06-02
      • 1970-01-01
      相关资源
      最近更新 更多