今天发现 vscode 工作区目录下有一个 .vscode 隐藏目录,里面有大量的 ipch 文件,而且占用存储空间都很大。我的工作区一共代码占了不足 300MB,但是那个文件夹占了足足 2.2GB!

点进去可以发现,似乎都是针对某个代码生成的。比如写了个很长的代码,它就给我生成了 170+MB 的 ipch……

 title=

翻了下设置,这个目录是一些预编译头文件(cached precompiled headers ),和 Intelli Sense 拓展相关。vscode 的 Intelli Sense 的确强大,但是这个文件大小也太可怕了,我还是 git 仓库,这要上传多久……

有什么用?

上网查了一下,这些文件是 Intelli Sense 的缓存,可以大大提高解析器的速度。

能删除吗?

Stackoverflow 上找到了这个问题:Is it safe to delete the “ipch” folder - Precompiled headers?

看起来这个文件是可以直接删除的。删除以后,下次打开会重新生成……所以最好还是在 git add 之前删除吧。

能限制大小吗?

设置里有这个选项:

 title=

或者在 config.json 中加入:

"C_Cpp.intelliSenseCacheSize": 64

是可以设置大小限制的,默认 5120MB 也太丧心病狂了点……

还可以参考:How to prevent or remove Visual Studio ipch/pch folders from the project