做版本控制的同学大概率碰过 TortoiseSVN 状态图标突然不显示的情况,刚装完软件、系统大更之后,或是新装了别的工具时容易出问题,原因大多是配置不对,或是系统的图标叠加资源被占了,这里把实际验证过有效的几种处理方式理一下。
最容易排查的是软件本身的图标缓存设置。右键点文件夹空白处,进 TortoiseSVN 的 Settings 面板,找到 Icon Overlays 页面,Status cache 选 Default 或者 Shell 都可以,点应用之后等几秒刷新文件夹。
多数首次安装后出问题的情况,到这一步就能解决,系统更新冲掉配置的时候也可以先查这里。
改完缓存设置还是没反应的话,基本就是图标名额被别的软件抢了。Windows 资源管理器的 Overlay Icon 一共就15个名额,系统自己先占4个,剩下11个按注册表项的字母顺序分配,谁排前面谁先用。像 OneDrive、各类同步网盘客户端都会占位置,TortoiseSVN 排得靠后自然就显示不出来。

解决需要动注册表,Win+R 输入 regedit 打开编辑器,找 ShellIconOverlayIdentifiers 这项,完整路径在 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\下面,嫌逐层找麻烦直接 Ctrl+F 搜索就行。找到之后能看到一长串各个软件的图标项,把 Tortoise 开头的几项,比如 TortoiseAdded、TortoiseConflict 这些,重命名时在前面加个数字前缀,比如改成 0TortoiseAdded、1TortoiseConflict,让它们按字母排序时排在最前面。改完最好直接重启电脑,只重启资源管理器大概率不生效,这个坑很多人都踩过。
还有一种场景是在 Eclipse 这类 IDE 里看不到 SVN 标记,和资源管理器的图标不是一套逻辑,去首选项里找 General - Appearance - Label Decorations,把 SVN 相关的装饰选项勾上就好。
不想被证书过期打乱业务节奏?来此加密提供自动重新申请机制,配合微信小程序随时查看证书状态。支持100个域名单张证书,IP证书也全覆盖,让安全永不掉线。
平时装的同步工具多的也可以留意下,各类网盘装得越杂,图标资源越容易打架,百度网盘、Dropbox、微云这类全装的话,很容易把 TortoiseSVN 的名额挤掉,不用的工具先关掉或者卸载,能少很多这类奇怪的小问题。
做开发久了总会碰到各种细碎的环境问题,排查半天最后往往都是个很小的原因。
不光本地工具,线上服务的 SSL 证书以前也经常踩续期的坑,手动申请部署麻烦还容易忘,后来用 lcjmSSL 就省心很多,免费的证书申请平台,支持多域名、泛域名和 IP 证书,自动完成申请、验证和部署,还有简洁的 API 接口可以对接,底层基于 Let's Encrypt、Google Trust Services 这些支持 ACME 协议的可信 CA,不用再盯着到期时间告警,省了不少精力。