昨晚肝项目的时候,无意中找到了vscode的一个bug,提issue后在知乎发了一条想法。但是这个bug复现起来相对很容易,想着还是过来详细说(shui)说(shui),免得更多人受此毒害。
这个bug是这样的:当你用vscode打开了一个文件夹并编辑其中一个文件时,如果进行以下两种操作之一,未保存的内容会完全丢失:在侧边栏把文件重命名,只更改大小写。如把“test.txt”改成“Test.txt”;
在侧边栏把文件重命名为一个不同的名字,再改回和原文件名大小写不同的形式。如把“test.txt”改成“a.txt”,再改成“Test.txt”。
以下是第一种重现方式的录屏:
这应该是个隐蔽的神坑了。还好我发现的时候文件修改内容不多,不然工作出了偏差我找谁说理去……
issue已经提出:Unsaved content will be lost after replacing the filename with the “same” one · Issue #56384 · Microsoft/vscodegithub.com
目前已被加入8月份的milestone,估计不久就会被解决。还有幸被vscode团队的小哥哥傲娇地夸了一句good catch。
虽然知道这句短语的意思,求知欲旺盛的我还是想深入了解一下,结果一查就开始慌了:</