解决方案:TortoiseSVN图标不能显示

问题:TortoiseSVN图标不能显示

解决方案

  • 输入win+R,输入Regedit,打开注册表编辑器。
  • 搜索ShellIconOverlayIdentifiers
    或者直接打开路径:\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
  • 将该目录下的的TortoiseNormalTortoiseModified等重命名,在名字前加入适量空格(比前几项多即可,比如OneDrive前有三个空格,那么Tortoise前就加四个空格)

如果你在ShellIconOverlayIdentifiers中没有找到Tortoise,一般情况是该插件的开机自启被关闭了,找到你的安全软件,在启动项 - 插件项中将该插件的开启启动打开即可。

  • 重新打开注册表后,效果如下图所示,Tortoise排列到了最前端
    解决方案:TortoiseSVN图标不能显示

原理

Windows最多只允许15个覆盖图标,它自己又用了几个,剩下的则少之又少。如果还使用OneDive等软件,TortoiseSVN则排到了15之后,便不能显示它的图标了。

所有应用程序的覆盖图标都需要在注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers下面增加一个项目,当需要显示覆盖图标时,Windows会按照项目名称的字母顺利依次查询在这些项目里所指示的接口,以检测是否有覆盖图标,当检测到11个有效的接口后,Windows就会自动停止继续向下检测,这样,后来的覆盖图标就不会显示了。

参考资料

SVN状态图标消失的解决办法