如何在IntelliJ 13中停止或限制索引?

时间:2014-10-10 20:17:55

标签: intellij-idea intellij-13

我的IntelliJ 13.1.5不断索引我的项目,这真的会减慢我的机器速度。当我重建我的项目以及启动我的jetty服务器时它会这样做。 有人知道如何禁用或至少限制这种行为吗? 以前的版本并没有经常这样做。

4 个答案:

答案 0 :(得分:28)

实际上,我发现了什么是错的。 一旦我的模块没有排除目标文件夹,这导致IntelliJ总是索引,因为该模块很大,所以需要永远索引它。

解决方案: 转到“项目结构” - > “模块”并排除所有目标文件夹。

答案 1 :(得分:1)

Starting from IntelliJ 2017.2,索引至少可以暂停:

Pause button

答案 2 :(得分:0)

对于在没有SSD的情况下主要在VDI上工作的其他不幸的灵魂:想法实际上解析/索引比项目文件夹更多。可能的候选人让你整天都成为一个咆哮的会议:

  • 在全球范围内指定的库和Linters。例如“Languages& Frameworks / Javascript / Libraries”或“TypeScript / TsLint / TsLint Packages”。如果你使用多种语言,那么这会使你的索引膨胀很多。通常情况下,从与您正在进行的工作相关的项目中打开一小部分来保持索引尽可能小。
  • 如前所述
  • :target,node_modules文件夹
  • dist,mock,资源文件夹
  • 不要在同一项目范围内打开多个项目/模块。我理论上这可以节省你的时间,因为你不必等待在另一个窗口中重新打开给定模块,但实际情况是你只需要添加更多东西来索引。如果您碰巧/** * get apps supporting video playing * @return */ private List<String> queryPlayerPackageNameLst() { Intent intent = new Intent(Intent.ACTION_VIEW); intent.setDataAndType(Uri.parse(video), "video/*"); PackageManager pm = getPackageManager(); List<ResolveInfo> infos = pm.queryIntentActivities(intent,PackageManager.MATCH_UNINSTALLED_PACKAGES); List<String> packageNameLst = null; if (infos != null && infos.size() > 0) { packageNameLst = new ArrayList<String>(infos.size()); for(int i=0; i<infos.size(); i++) { ResolveInfo info = infos.get(i); packageNameLst.add(info.activityInfo.packageName); //info.activityInfo.name } } return packageNameLst; } 一个包含5-6个不同模块的项目,您的想法将陷入停滞半小时以索引所有更改。

答案 3 :(得分:0)

尝试Invalidating the cache and restarting IntelliJ.

我有类似的问题可以解决:

IntelliJ IDEA缓存大量文件,因此系统缓存有一天可能会变得过载。在某些情况下,例如,如果您使用频繁的短期项目,则将不再需要缓存。另外,解决某些冲突的唯一方法是清除缓存。

要清除系统缓存,请执行以下操作:

在主菜单上,选择文件 | 使缓存无效/重新启动无效的缓存消息

来源link.