在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
最近遇到TortoiseSVN图标(如上图:增加文件图标、文件同步完成图标等)不显示问题,网上找到的解决方法试了很多都无法真正解决,最后总结了一下,找到了终极解决方案,当然此方案也有弊端,接下来我们就研究、分析、解决这个问题。 不过有一天,使用DW浏览文件,定位到文件,这时候发现了已同步图标。这就更让人疑惑了,但是最起码证明,图标文件没有丢失,只是因为某种原因,没办法显示出来,那就有可能是软件冲突了。 不明原因,所以,百度google之,发现还是挺多人遇到这情况的,现摘录如下: “开始以为是TortoiseSVN坏了,于是重装,但结果还是一样。于是找了好多资料,终于发现症结所在--原来是Windows对覆盖图标类型的数据 限制的原因。Windows最多只允许15个覆盖图标,它自己又用了几个,结果给用户用的就11个左右了(这个限制一直都Windows 7都没有放宽,真不知微软是怎么想的)。TortoiseSVN标准会使用7个(普通图标、已修改图标、冲突指示图标、已删除图标、新增文件图标、忽略图 标、未版本化图标等),这样剩下可用的就少之又少了。如果再安装了网盘软件(如:快盘,Dropbox等),那就更惨了,它们各自又会使用3个左右的覆盖 图标,这样,覆盖图标当然远远不够用了。 ----------------------- 分割线 ------------------------------------------------------- 对于我自己机器, 看了下注册表,ShellIconOverlayIdentifiers的目录树如下: !!!BoxFlashSyncExt1 ... ... 怪不显示不出SVN的图标呢,在SVN要overlay icon前面有好多个野蛮的icon,酷盘、115 、快盘三个网盘也是想尽了千方百计让自己的overlay icon能够被显示出来。居然连感叹号,空格都用上了。 酷盘对应的overlayicon为: !!!BoxFlashSyncExt1 115 对应的overlayicon为: !IconOverlay_Conflict 快盘对应的overlayicon为: .KLive_OverlayIcon_ForbidSync 既然知道原理了,那就挨个把网盘干掉吧。 其中:115网盘属于半绿色安装,因为只有Sync115Ext.dll (在C:Users用户名AppDataRoaming115Box) 被注册,它正在shell overlay icon对应的dll,因此,只需要将它反注册一下就可以了:regsvr32 /u Sync115Ext.dll。 经过卸载,ShellIconOverlayIdentifiers的目录树终于干净了,目录树如下: 1TortoiseNormal ... ... 最后,重启一下,或注销一下,SVN图标终于重建天日。 最后终极解决方案: 在网上有部分解决方案是更改SVN图标名称,让其排序靠前来解决此问题,但是在window xp下我通过此方法无法解决此问题,猜测应该是即使SVN图标排序靠前,但是SVN仍然会将自己的图标优先权让给其他软件,所以最有效的解决方案是删除所有其他软件的图标,只留下SVN的图标,但是此方法的弊端是360云盘、百度云盘等其他软件无法显示图标,所以具体如何解决此方案,还是大家自己权衡吧! 1、 到C:Windows文件夹下,打开regedit.exe 3、删除完其他软件的节点后,可以重启电脑或者在任务管理器中结束explorer.exe进程(如下图), 然后在任务管理器中重新开启explorer.exe进程,如下图,单击任务管理器->文件->新建任务(运行... 然后进入下图窗口, 在打开中输入:C:WINDOWSexplorer.exe 单击确定即可! Win7 64位下TortoiseSVN的文件夹及文件SVN图标不显示正确解决方法 最近为了代码版本管理,安装了SVN服务端与客户端,安装TortoiseSVN之后,功能正常,但是就是文件夹或文件夹的左下角就是不显示SVN图标,之前在XP上是正常显示的。通过网络查找,发现以下方法可以解决问题。 Windows Explorer Shell 支持的 Overlay Icon 最多 15 个,Windows 自身使用了 4 个,只剩 11 个可扩展使用,可能这 11 个位置部分可能被其他的软件占用了,导致 TortoiseSVN的某些重要的图标不显示了。不过,可以重新命名以调整 Tortoise 图标名称的字母顺序,让SVN的排在前面,Windows 内部就是按图标名称的字母顺序来优先显示的。 第一: 输入:win+R,(开始->运行)输入regedit.exe,调出注册表管理器 (1)按下Ctrl+F,在注册表里搜索 ShellIconOverlayIdentifiers 第二:将TortoiseAdded、TortoiseConflict……TortoiseUnversioned 右键->重命名,如命名为:0TortoiseAdded、1TortoiseConflict……8TortoiseUnversioned。如下图: 第三: 重启或是注销电脑之后,最后文件夹连接服务器后有了图标 |
请发表评论