为何在VS Code中修改文件未保存时,其他程序无法识别更改?
为什么VS Code未保存的更改无法被其他程序读取?
这本质是VS Code对未保存文件的内存存储机制决定的,具体原因可以拆成两点:
- 未保存的修改仅停留在VS Code内存中:当你修改文件但未执行保存操作时,这些改动并没有被写入电脑磁盘上的实际文件,只是临时存放在VS Code运行时占用的内存空间里。而脚本解释器、编译器、Git、本地开发服务器这类程序,都是直接从磁盘读取文件内容,自然只能获取到最后一次保存到磁盘的版本。
- 新建未保存的文件无磁盘实体:这类文件完全是VS Code在内存里临时维护的,磁盘上根本没有对应的文件路径和实体文件,其他程序尝试读取一个不存在的路径,必然会提示“文件不存在”。
顺带提一句,VS Code的这种设计其实是兼顾了数据安全和性能:一方面,内存中的临时内容能在意外关闭软件时被恢复;另一方面,减少频繁的磁盘写入操作,降低硬件损耗。
内容的提问来源于stack exchange,提问作者starball
相关产品推荐
相关产品推荐

