Intellij IDEA 需要永远更新索引
Posted
技术标签:
【中文标题】Intellij IDEA 需要永远更新索引【英文标题】:Intelli J IDEA takes forever to update indices 【发布时间】:2013-04-06 04:09:29 【问题描述】:Intelli J 花费大量时间(几乎 12 小时)来更新项目的索引是否正常?我刚刚在我的机器上安装了 Intelli J 并导入了一个相当大的 Maven 项目(13k+ 个文件)。
我知道这个项目很大,但是我让我的电脑整晚都开着,当我早上醒来时,Intelli J 还没有完成文件索引的更新,这使得我无法做任何事情标题为“更新索引”的弹出窗口一直挂在屏幕中间。
【问题讨论】:
多少钱memory have you allocated to IntelliJ?我没有任何包含这么多源文件的项目,但我觉得不太可能需要这么长时间。 @DaveNewton 我为它分配了 512M。 @abcXYZ 远远不够;我什至不会尝试低于 1G 的任何东西。检查您是否正在破坏虚拟机。 您应该联系 JetBrains 支持。它们在支持此类问题方面相对较好,即使对于 CE 用户也是如此。 有时,您可以从命令行启动 intellij。它可能要求提供 git 凭据。 【参考方案1】:对于不同的 IntelliJ 版本,论坛中有几个答案,这是我尝试过的 (IntelliJ 13)。
提供更多内存。对“更新索引”没有任何帮助 删除项目中的 .idea 和 iml。没有帮助。最终解决我的“更新索引”问题的是:
删除用户/.IntellIJIdea13/system/中的'caches'文件夹【讨论】:
谢谢!我认为File / Invalidate Caches
也是如此。帮助了我。
你为我节省了很多时间!谢谢
你是救生员。
我的 intellij 想法实际上是在我使缓存失效后开始更新索引的,所以我最终等了一个多小时,但结果还好。
在我这样做的那一刻开始索引,感觉这需要几个小时。最后,他们应该真正修复这个错误。否则爱 IntelliJ。【参考方案2】:
我尝试删除缓存,它运行良好。感谢朋友的解答。
只是:
-
打开 IntelliJ IDEA
选择文件菜单
选择使缓存无效/重新启动...菜单。
选择后,您会看到一个包含大量选项的弹出窗口。
选择无效并重新启动
在此之前,请确保您已保存所有更改,否则可能会删除一些未保存的更改。
点击后,IntelliJ 将重新启动,然后您可以看到所有索引都非常快地完成。
【讨论】:
这些建议对我没有任何影响。我有一个由 75 个模块和数千个源文件和其他随机混乱组成的怪物。无论如何,我也会在家里尝试。谢谢。 工作就像一个魅力。谢谢 让intellij更新3小时,强制停止,缓存失效后只用了几分钟 5.在任务管理器中停止 IntelliJ 任务。 2015年的回答,但仍然有这个问题。谢谢!【参考方案3】:删除库文件夹中的缓存
rm -rv ~/Library/Caches/IdeaIC15/caches/
在 Mac OSX 上,缓存的位置是 ~/Library/Caches
【讨论】:
这个位置 ~/Library 可能仅在您的工作站上有效,我想。 已编辑。感谢您的建议 我的情况是我已经安装了终极版和社区版。我首先使用终极版本打开项目。仅删除缓存对我不起作用。我需要删除缓存并重新启动系统,从而修复索引问题。【参考方案4】:我在 IntelliJ 2017.2.3 中遇到了同样的问题 - 即我的项目会一遍又一遍地更新索引。
我发现我已经超出了我的主目录中的磁盘配额。默认情况下,IntelliJ 将索引存储在主目录中,如下所示:
~/.IdeaIC2017.2/system/index/
我的解决方案是:
-
退出 IntelliJ
将整个 .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
这个问题的其他一些答案可能是由于同样的问题,并且被“删除缓存文件夹”、“使缓存无效”等无意中修复,这可能会释放足够的磁盘空间来构建索引.
【讨论】:
【参考方案5】:虽然接受的答案和其他答案可能会解决特定问题,但我发现索引时间过长的问题通常来自存储库包含或链接到包含大量文件的某个目录的事实。通常这样做是为了测试,而有问题的目录实际上并不是项目的一部分,例如被 VCS 忽略。
IDE 在索引时不会自动忽略这些目录,但可以从项目中“排除”该目录。这也将阻止索引。
【讨论】:
【参考方案6】:可能 - 缓存系统中的旧错误。它发生在所有版本中,尤其是当您升级 IntelliJ 或 JDK 版本时。 要解决这个问题: 1)关闭图形用户界面。 2)去 %HOME_DIR%.IntelliJIdeaXXXX\system\caches 并删除它 3) 再次启动 GUI。
【讨论】:
【参考方案7】:我猜 Idea 更多的是收集垃圾而不是做有用的工作。使用 G1 GC 而不是默认值。
帮助 -- 编辑自定义虚拟机选项
-XX:+UseG1GC
而不是
-XX:+UseConcMarkSweepGC
当然还要重启 Idea。
缺点:G1 会在停止进程之前尝试收集垃圾。这很疯狂,但这就是它的作用。对于一个 16G 堆的程序,清理需要 27 分钟。所以不要将你的 Idea 配置为使用 16G 堆。
【讨论】:
【参考方案8】:更简单的方法如下: 文件 --> 设置 --> (取消选中)在框架或编辑器选项卡激活时同步文件。
【讨论】:
【参考方案9】:在Intellij 2020.2
我也遇到了这个问题。重新启动/无效缓存对我不起作用。我所做的只是删除以下路径中的缓存文件夹:
C:\Users\davoud\AppData\Local\JetBrains\IntelliJIdea2020.2
【讨论】:
我的缓存目录是2GB,可能里面有很多信息,是长期积累的。一些来自我不再从事的项目。删除目录并让它重新索引我当前的项目会产生 80MB 的缓存,并在 30 秒内完成。【参考方案10】:您可以手动排除带有IDEA Indexing的文件或目录,它可以提高文件加载速度。 有些文件是动态生成的,我们不需要每次启动IDEA时都索引这些文件。
【讨论】:
【参考方案11】:~/Library/Caches/JetBrains/IntelliJIdea2021.1 它对我有用..
【讨论】:
【参考方案12】:创意 2020.2 右键单击项目下的文件夹,然后标记为排除以排除您不想索引的文件夹
【讨论】:
【参考方案13】:我可以通过File -> Invalidate Caches / Restart
解决这个问题
然后在打开的对话框中选择“Invalidate and Restart”
【讨论】:
以上是关于Intellij IDEA 需要永远更新索引的主要内容,如果未能解决你的问题,请参考以下文章