Intelli J 花费大量时间(几乎 12 小时)来更新项目的索引是否正常?我刚刚在我的机器上安装了 Intelli J 并导入了一个相当大的 Maven 项目(13k+ 个文件)。
我知道这个项目很大,但我让我的电脑整晚都开着,当我早上醒来时,Intelli J 仍然没有完成更新文件的索引,这使得自从弹出窗口以来无法做任何事情标题“更新索引”一直挂在屏幕中间。
Intelli J 花费大量时间(几乎 12 小时)来更新项目的索引是否正常?我刚刚在我的机器上安装了 Intelli J 并导入了一个相当大的 Maven 项目(13k+ 个文件)。
我知道这个项目很大,但我让我的电脑整晚都开着,当我早上醒来时,Intelli J 仍然没有完成更新文件的索引,这使得自从弹出窗口以来无法做任何事情标题“更新索引”一直挂在屏幕中间。
There are several answers in the Forums for different IntelliJ Versions, here is what I´ve tried (IntelliJ 13).
In the end what resolved my problem with 'Updating indices' was:
我尝试删除缓存,它工作得很好。感谢解决问题的朋友。
只是:
一旦你点击它,IntelliJ 将重新启动,然后你可以看到所有索引都非常快地完成。
删除库文件夹中的缓存
rm -rv ~/Library/Caches/IdeaIC15/caches/
在 Mac OSX 上,缓存的位置是~/Library/Caches
在Intellij 2020.2
我也遇到了这个问题。重新启动/无效缓存对我不起作用。我所做的只是删除以下路径中的缓存文件夹:
C:\Users\davoud\AppData\Local\JetBrains\IntelliJIdea2020.2
我对 IntelliJ 2017.2.3 也有同样的问题——即我的项目会一遍又一遍地更新索引。
我发现我已经超出了我的主目录中的磁盘配额。默认情况下,IntelliJ 将索引存储在主目录中,如下所示:
~/.IdeaIC2017.2/system/index/
我的解决方案是:
将整个 .IdeaIC2017.2 目录移动到另一个有更多空间的挂载:
mkdir /space/ideaConfig
mv ~/.IdeaIC2017.2 /space/ideaConfig/IdeaIC
更新bin/idea.properties
以指向新的索引/配置位置:
idea.config.path=/space/ideaConfig/IdeaIC/config
idea.system.path=/space/ideaConfig/IdeaIC/system
这个问题的其他一些答案可能是由于相同的问题,并且被“删除缓存文件夹”、“使缓存无效”等无意中修复,这可能会释放足够的磁盘空间来构建索引。
尽管接受的答案和其他答案可能会解决特定问题,但我发现索引时间过长的问题通常来自存储库包含或链接到包含大量文件的某个目录的事实。通常这是为了测试而完成的,所讨论的目录实际上并不是项目的一部分,例如被 VCS 忽略。
IDE 在编制索引时不会自动忽略这些目录,但可以从项目中“排除”该目录。这也将阻止索引。
更简单的方法如下:文件 --> 设置 --> (取消选中)在框架或编辑器选项卡激活时同步文件。
我猜想法是收集垃圾而不是做有用的工作。使用 G1 GC 而不是默认值。
帮助 -- 编辑自定义 VM 选项
-XX:+UseG1GC
代替
-XX:+UseConcMarkSweepGC
当然重新启动Idea。
缺点:G1 在停止进程之前尝试收集垃圾。这很疯狂,但这就是它的作用。对于一个 16G 堆的程序,清理需要 27 分钟。所以不要将你的 Idea 配置为使用 16G 堆。
您可以使用IDEA Indexing手动排除文件或目录,它可以提高文件加载速度。有些文件是动态生成的,我们不需要每次启动IDEA时都索引这些文件。
~/Library/Caches/JetBrains/IntelliJIdea2021.1 它对我有用..
可能 - 缓存系统中的旧错误。它发生在所有版本中,尤其是当您升级 IntelliJ 或 JDK 版本时。要修复它: 1) 关闭 GUI。2) 转到 %HOME_DIR%.IntelliJIdeaXXXX\system\caches 并删除它 3) 再次启动 GUI。
IDEA 2020.2 右键Project下的文件夹,然后标记为Exclude,排除不想索引的文件夹