今天发现 vscode 工作区目录下有一个 .vscode 隐藏目录,里面有大量的 ipch 文件,而且占用存储空间都很大。我的工作区一共代码占了不足 300MB,但是那个文件夹占了足足 2.2GB!
点进去可以发现,似乎都是针对某个代码生成的。比如写了个很长的代码,它就给我生成了 170+MB 的 ipch……
翻了下设置,这个目录是一些预编译头文件(cached precompiled headers ),和 Intelli Sense 拓展相关。vscode 的 Intelli Sense 的确强大,但是这个文件大小也太可怕了,我还是 git 仓库,这要上传多久……
有什么用?
上网查了一下,这些文件是 Intelli Sense 的缓存,可以大大提高解析器的速度。
能删除吗?
Stackoverflow 上找到了这个问题:Is it safe to delete the “ipch” folder - Precompiled headers?
看起来这个文件是可以直接删除的。删除以后,下次打开会重新生成……所以最好还是在 git add 之前删除吧。
能限制大小吗?
设置里有这个选项:
或者在 config.json
中加入:
"C_Cpp.intelliSenseCacheSize": 64
是可以设置大小限制的,默认 5120MB 也太丧心病狂了点……
还可以参考:How to prevent or remove Visual Studio ipch/pch folders from the project