以下脚本摘自网络,仅支持到vs2015,vs2017需要删掉文件ApplicationPrivateSettings.xml
- @echo off
- cd \
- @echo on
- @REGDelete HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\FileMRUList /va /f
- @REGDelete HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\8.0\ProjectMRUList /va /f
- @REGDelete HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\FileMRUList /va /f
- @REGDelete HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\9.0\ProjectMRUList /va /f
- @REGDelete HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\FileMRUList /va /f
- @REGDelete HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\ProjectMRUList /va /f
- @REGDelete HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\FileMRUList /va /f
- @REGDelete HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\ProjectMRUList /va /f
- @REGDelete HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\FileMRUList /va /f
- @REGDelete HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\ProjectMRUList /va /f
- @REGDelete HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\13.0\FileMRUList /va /f
- @REGDelete HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\13.0\ProjectMRUList /va /f
- @REGDelete HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\MRUItems/f
-
执行以上脚本,发现vs2017
中的记录并没有被清除,原来vs2017
不在使用注册表来保存最近打开的文件列表,而是通过本地配置文件。具体位置如下:C:\Users\BCN\AppData\Local\Microsoft\VisualStudio\15.0_d6908cd7\ApplicationPrivateSettings.xml
查找过程如下:
- 开启procmon.exe(需要管理员权限)
- 打开
vs2017
,直到显示出最近打开的文件列表。 - 停止监视
- 查找
vs2017
访问过的注册表项记录,根据Result
那列是SUCCESS
进行过滤,找了一圈没发现可疑项。 - 查找
vs2017
打开的文件记录,根据以下条件过滤:Result
列是SUCCESS
,并且Path
不是.dll
或者.exe
结尾的,Operation
是ReadFile
。在过滤的结果中的Path
列按CTRL+F
搜索关键字,我这里是test.sln
,最终排查到ApplicationPrivateSettings.xml
。 - 验证:关闭
vs2017
,删除ApplicationPrivateSettings.xml
,重新启动vs2017
,不再显示最近打开的文件列表。