TortoiseSVN文件夹及文件图标不显示问题解决方法
近期遇到了一个令人头疼的问题,那就是TortoiseSVN的图标不再显示。无论怎么尝试,网上找到的解决方案都无法真正解决问题。最终我找到了一个终极解决方案,虽然这个方案也存在一些弊端,但接下来我们将深入研究、分析并解决这个问题。
打开资源管理器后,我们看不到已经同步的文件夹显示已同步的图标。在SVN的设置面板中,也找不到任何相关的解决办法。在使用DW浏览文件时,我们发现了已同步图标。这证明图标文件并没有丢失,而是因为某种原因无法正确显示。有可能是因为软件冲突导致的。
近期安装了很多软件,我们不确定是哪个软件导致了这个问题。我们进行了深入调查,发现这个问题并不是只有我自己遇到。许多人都遇到了相同的情况。问题的症结在于Windows对覆盖图标类型的数量限制。Windows最多只允许15个覆盖图标,但它自己使用了几个,所以实际上只留给用户大约11个位置。TortoiseSVN标准会使用多个图标,如果位置不够用,就会导致一些图标无法显示。如果安装了其他软件如网盘软件(如快盘、Dropbox等),它们也会使用自己的覆盖图标,进一步加剧了图标位置不足的问题。
那么,这些覆盖图标的设置保存在Windows的什么地方呢?在注册表的“HKEY_LOCAL_MACHINESOFWAREMicrosoftWindowsCurrentVersionExplorerShellIconOverlayIdentifiers”项下,所有应用程序的覆盖图标都需要在这里注册。Windows会按照项目名称的字母顺序依次查询这些项目,以检测是否有覆盖图标。当检测到11个有效的接口后,Windows就会自动停止继续向下检测,导致后来的覆盖图标无法显示。
知道了问题的原理,我们就可以有针对性地解决问题了。我们可以分析这个注册表项下的所有项目,确定哪些覆盖图标是必需的,哪些是不必要的。例如,网盘的“正在同步图标”可能就不是必需的。对于其他图标,可以根据实际情况进行处理。即使我们将TortoiseSVN的所有覆盖图标都提前注册,TortoiseSVN仍然不会显示忽略图标、未版本化图标等。这是因为TortoiseSVN会分析注册的覆盖图标数,如果注册了太多,它会自动屏蔽一些“无关紧要”的图标,以便让其他软件的覆盖图标有机会显示。如果我们希望显示这些被TortoiseSVN屏蔽的图标,需要删除一些其他程序的图标,将覆盖图标的总数减少到13个以下。
探索注册表中的ShellIconOverlayIdentifiers:解决SVN图标不显示问题
当我深入探究自己机器的注册表时,发现了ShellIconOverlayIdentifiers的目录树。在这个庞大的列表中,我看到了许多不同的图标标识符,包括来自各种网盘应用的标识。这让我不禁思考,为什么SVN的图标没有显示出来呢?
在深入研究后,我发现有许多野蛮的icon占据了显示位置,如酷盘、115、快盘等网盘应用的图标。这些应用千方百计地让自己的overlay icon能够被显示出来,甚至使用感叹号和空格等特殊字符来占据显示位置。
以酷盘为例,其对应的overlayicon为“!!!BoxFlashSyncExt”,而115网盘则使用了诸如“IconOverlay_Conflict”、“IconOverlay_ForbidSync”等标识符。这些标识符的存在导致SVN的图标无法正确显示。
经过分析和实践,我找到了解决问题的方法。其中,115网盘是一个半绿色安装的应用,它通过注册Sync115Ext.dll来实现shell overlay icon的显示。为了解决这个问题,我们需要将其反注册。使用命令“regsv /u Sync115Ext.dll”可以轻松实现反注册。
经过卸载操作后,ShellIconOverlayIdentifiers的目录树变得干净整洁。只留下了一些如TortoiseNormal、TortoiseModified等与SVN相关的标识符。重启或注销系统后,SVN图标终于得以重建并显示。
对于终极解决方案,我曾在网上看到过一些建议,如更改SVN图标的名称以使其排序靠前。但在Windows XP下,我尝试过此方法却未能解决问题。经过分析,我认为这是因为即使SVN图标排序靠前,SVN仍然会优先让其他软件的图标显示。最有效的解决方案是删除所有其他软件的图标,仅保留SVN的图标。这种方法的弊端在于其他软件如360云盘、百度云盘等将无法显示图标。如何解决这个问题还需要大家自己权衡利弊做出选择。
如果你决定采取操作来解决这个问题,可以按照以下步骤进行:
1. 打开C:Windows文件夹下的regedit.exe。
2. 使用Ctrl+F快捷键进行搜索,找到“ShellIconOverlayIdentifiers”。
3. 在搜索到的节点中,删除所有非SVN相关的图标标识符即可。
希望以上内容对你有所帮助!解决Win7 64位下TortoiseSVN文件夹及文件SVN图标不显示问题
在代码版本管理的需求下,我们安装了SVN服务端与客户端TortoiseSVN,但可能会遇到文件夹或文件的左下角不显示SVN图标的情况。在XP系统上,这种情况是正常的,但在Win7 64位系统上却可能出现异常。通过网络查找,我们可以找到一种解决方法。
Windows Explorer Shell支持的Overlay Icon最多有15个,其中Windows自身使用了4个,只剩下11个可供扩展使用。有可能这11个位置中的部分被其他软件占用了,导致TortoiseSVN的某些重要图标无法显示。为了解决这个问题,我们可以尝试重新调整Tortoise图标名称的字母顺序,让SVN的图标排在前面。Windows内部就是按照图标名称的字母顺序来优先显示的。
我们需要打开注册表管理器。可以通过输入win+R,在弹出的运行窗口中输入regedit.exe来调出注册表管理器。接着,我们需要找到ShellIconOverlayIdentifiers这个路径,它的位置在HKEY_LOCAL_MACHINE -> SOFTWARE -> Microsoft -> Windows -> CurrentVersion -> Explorer下。
然后,我们可以找到与Tortoise相关的图标标识,如TortoiseAdded、TortoiseConflict……TortoiseUnversioned等。将这些标识右键点击重命名,例如改为0TortoiseAdded、1TortoiseConflict……8TortoiseUnversioned(如图示)。这样调整之后,重启或者注销电脑,再连接服务器后,应该就可以看到文件夹的SVN图标了。
如果在删除其他软件节点后仍然无法解决问题,可以尝试重启电脑或者在任务管理器中结束explorer.exe进程。然后,在任务管理器中重新开启explorer.exe进程。具体操作是单击任务管理器->文件->新建任务(运行...),在打开的窗口中输入C:WINDOWSexplorer.exe,单击确定即可。完成上述操作后,打开SVN客户端目录,刷新应该就可以看到图标了。
希望以上解决方案能够帮助你顺利解决TortoiseSVN在Win7 64位系统下文件夹及文件SVN图标不显示的问题。
网络安全培训
- TortoiseSVN文件夹及文件图标不显示问题解决方法
- win10电脑自带6款不可错过的效率神器
- 电脑本地连接不见了 本地连接图标不见了的解决
- i9 8950HK Acer掠夺者 Helios 500详细图文评测
- 笔记本电脑屏幕反光怎么办有哪些可行的解决方
- 性价比超高 雷柏VT300电竞游戏鼠标详细测评分析
- GHOST手动还原重装系统详细教程(图文)
- 如何分割RAR文件 WinRAR分割超大文件方法步骤
- 什么时候上市?华硕Transformer Book T300 Chi测评
- 电脑提示显示器显示超出范围Out of Range怎么办-
- 劣质电源对系统杀伤磨难记
- 讯飞智能录音笔SR301为青少年开创全新的记录方式
- 雷柏VT200S游戏鼠标怎么样 雷柏VT200S游戏鼠标评测
- LSAS.exe是什么进程 有什么用 LSAS进程查询
- win10升级14905尴尬了-开始键居然无法关机
- 借助魔方优化大师定制鼠标右键菜单