IDEA invalidate caches 中每个勾选项是什么

在 IntelliJ IDEA 的 "Invalidate Caches" (清除缓存)对话框中,除了主要的"清除并重启"按钮外,还有一系列可勾选的可选操作。这些选项允许你指定在重启前需要额外清理哪些特定类型的缓存。
以下是每个勾选项的详细解释及适用场景:
1. Clear file system cache and Local History
- 含义 :这是最彻底的清理选项之一。
- 文件系统缓存:IDEA 为了加速文件读取,会维护一个虚拟文件系统(VFS)缓存。勾选此项会清除这些缓存快照。
- 本地历史记录 :IDEA 会自动记录你对文件的修改历史(右键文件 -> Local History -> Show History)。勾选此项会清空所有项目的本地历史记录。
- 适用场景:当你遇到文件内容显示不一致、文件修改未生效,或者本地历史记录占用过多空间且你确定不需要回溯历史时使用。
- 注意 :如果你的项目未加入 Git 等版本控制,且依赖 Local History 来找回旧代码,请不要勾选此项,或者先备份。
2. Clear VCS Log caches and indexes
- 含义:清除版本控制系统(如 Git、SVN)的日志缓存和索引。
- 适用场景:当你发现 IDEA 右下角的 Git Log 显示不正确、提交历史缺失、或者 VCS 搜索功能失效时使用。这不会影响你仓库里的实际代码,只会让 IDEA 重新去读取 Git 日志。
3. Mark downloaded shared indexes as excluded
- 含义 :将已下载的共享索引 标记为"排除"。
- 共享索引是 JetBrains 提供的一项功能,它为常用的 JDK、Maven 依赖库提供了预构建的索引文件,以加速代码提示。
- 适用场景:如果你发现代码提示(Code Completion)中缺失了某些类或方法,或者提示信息不正确,可能是预下载的索引文件损坏了。勾选此项会强制 IDEA 忽略旧的共享索引,下次启动时重新下载或构建。
4. Ask before downloading new shared indexes
- 含义:开启"下载新共享索引前询问"模式。
- 适用场景:如果你处于流量受限的网络环境,或者不想让 IDEA 在后台自动下载大量的索引文件占用带宽,可以勾选此项。IDEA 检测到有新的共享索引可用时,会弹出通知询问你是否下载。
5. Delete embedded browser engine cache and cookies
- 含义:删除 IDEA 内置浏览器(基于 JCEF)的缓存和 Cookie。
- 适用场景:IDEA 的某些功能(如内置的数据库工具、Markdown 预览、或者插件界面)会使用内置浏览器加载网页。如果遇到网页显示异常、登录状态失效或界面卡顿,可以尝试清理此项。
💡 总结建议
- 常规修复(推荐) :如果只是遇到项目报红、卡顿或索引异常,通常只点击 "Invalidate and Restart"(不勾选任何额外选项)就足够了。这会清理主要的内存和索引缓存,但保留 Local History。
- 进阶修复 :如果常规修复无效,或者你确定是文件系统或本地历史记录导致的问题,再勾选 "Clear file system cache and Local History"。
- 特定问题:只有在遇到对应的特定问题(如 Git 日志不对、代码提示缺失、内置浏览器异常)时,才勾选对应的特定选项。