IntelliJ IDEA 学习笔记

来源:互联网 发布:fgo刷素材软件 编辑:程序博客网 时间:2024/05/19 06:37

本文简单介绍在IntelliJ IDEA中和缓存、索引相关的一些问题,参考IntelliJ IDEA 简体中文专题教程,英文好的同学可以查看英文官网文档

缓存和索引介绍

  • IntelliJ IDEA 的缓存和索引主要是用来加快文件查询,从而加快各种查找、代码提示等操作的速度
  • IntelliJ IDEA 首次加载项目的时候,都会创建索引,而创建索引的时间跟项目的文件多少成正比
  • 图标 这里写图片描述 Java class located out of the source root,表示 Java 类文件没有在 Source root 目录下的文件夹下;另外,在 IntelliJ IDEA 创建索引过程中,所有的 Java类 都是这个图标(当项目小的时候可能观察不到),所以在 IntelliJ IDEA 创建索引过程即使编辑了代码也无法编译运行,建议等 IntelliJ IDEA 创建索引完成再进行操作

清除缓存和索引

  IntelliJ IDEA 的索引和缓存并不是一直会良好地支持 IntelliJ IDEA 的,这某些特殊条件下,IntelliJ IDEA 的缓存和索引文件也是会损坏的,比如断电、蓝屏引起的强制关机,当你重新打开 IntelliJ IDEA,基本上百分八十的可能 IntelliJ IDEA 都会报各种莫名其妙错误,甚至项目打不开,IntelliJ IDEA 主题还原成默认状态。也有一些即使没有断电、蓝屏,也会有莫名奇怪的问题的时候,也很有可能是 IntelliJ IDEA 缓存和索引出问题,这种情况还不少。遇到此类问题也不用过多担心,下面就来讲解如何解决

  清除缓存和索引,如下图,IntelliJ IDEA 已经自带提供清除缓存、索引的入口

  这里写图片描述

  会有如下提示

  这里写图片描述

  • 建议点击 Invalidate and Restart(使缓存和索引作废并重启),这样会比较干净
  • 但是有一个需要提醒的是,清除索引和缓存会使得 IntelliJ IDEA 的 Local History 丢失,所以如果你项目没有加入到版本控制,而你又需要你项目文件的历史更改记录,那你最好备份下你的 LocalHistory 目录。目录地址在:~\.IntelliJIdea2017.2\system\LocalHistory
  • 通过上面方式清除缓存、索引本质也就是去删除 system 目录下的对应的文件而已,所以如果你不用上述方法也可以删除整个 system。当 IntelliJ IDEA 再次启动项目的时候会重新创建新的 system 目录以及对应项目缓存和索引