TortoiseSVN 图标覆盖更新到 Windows 10 后不显示

Posted

技术标签:

【中文标题】TortoiseSVN 图标覆盖更新到 Windows 10 后不显示【英文标题】:TortoiseSVN icons overlay not showing after updating to Windows 10 【发布时间】:2015-11-05 00:40:06 【问题描述】:

我一直在使用 Windows 8,并且 TortoiseSVN 图标一直正常显示,但在安装 Windows 10 后,我无法再看到文件/文件夹状态的图标。

【问题讨论】:

gitlab.com/tortoisegit/tortoisegit/issues/2548 This worked for me on Windows 10 我只需要重启我的 Win10 机器(就我而言)。 .cmd skript 在 win10 上为我工作 ***.com/a/41727983/1650038 【参考方案1】:

正如在当前推荐的答案中提到的,您需要对注册表中覆盖标识符的条目进行排序。我没有删除那些 OneDrive 或 GoogleDrive 条目,而是通过添加 3 个空格来重命名所有 Tortoise 文件夹以将它们置于顶部。只需重新启动,即使使用 Tortoise SVN 客户端 1.7.9,您也会再次在 Windows 10 下看到您的 SVN 覆盖图标。

【讨论】:

简单且最佳的解决方案。 :) 真是一团糟。在我的机器上,OneDrive、SkyDrive 键的名称前都有一个空格,胜过只有数字的 svn。所以我添加了两个空格。下一个版本,OneDrive 将有三个空格。在其他几个版本中,我们将落在屏幕的东边。 Here的一些背景信息。 是的,我的机器在 OneDrive 上方有 Dropbox 条目,还有更多空间。似乎外壳覆盖战争已经开始。 @JeffG:太好了,很高兴您找到了解决方案。原因是 Windows 只考虑 ShellIconOverlayIdentifiers 中的前 15 个条目而忽略其他所有内容,所以现在每个应用程序都试图通过插入空格来击败系统以获得更高的“字母”排名。 在其他答案未能解决我的问题后,我尝试了这个并且它成功了。除了我必须在 Tortoise 键中添加 5 个空格以使它们领先于 OneDrive。精神错乱!【参考方案2】:

遇到了同样的问题,通过运行regedit、删除HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\ShellIconOverlayIdentifiers 中的一些条目并重新启动来解决。 删除 OneDrive1... 实体是不允许的,但我有一些来自 Google Drive。 您也可以通过双击注册表目录并“导出”到文件来进行备份。

在 Windows 10 上,大部分条目由 OneDrive 使用,您无权删除它们。为此,请右键单击条目(例如:“OneDrive1”,然后单击“高级”,然后单击“所有者”旁边最顶部的标记为“更改”的链接。这使您可以更改所有者。键入在您的用户名中并点击确定。现在给自己“完全控制”,然后应用它。现在您应该能够删除或重命名它。

【讨论】:

我有点遵循这个答案,只是我将乌龟图标重命名为以 1、2、3、...等开头,以便让它们显示在顶部 设置 -> 图标叠加层 -> 叠加层处理程序 -> 启动注册表编辑器中有一个选项可将您带到该注册表。至少在 1.9.1 版本中 它可能有效,但不正确,请查看 Kelly Carter 提供的解决方案。 我刚刚卸载了占用图标槽的 Dropbox(我不需要它),你瞧,我的 TortoiseSVN 图标又回来了。 (这就是我需要做的所有事情。) 编辑:嗯,其中大多数 - 但是新的未版本化文件的加号图标仍然缺失。主要的(绿色勾号和红色感叹号)在那里 现在 OneDrive 和 DropBox 前面添加了更多空间。太空竞赛又来了……【参考方案3】:

我解决了我的 TortoiseSVN 图标在 Windows 10 中不显示的问题,因为我的存储库位于可移动驱动器上的特殊情况。

有一个 Tortoise 设置可确定图标与哪些驱动器类型一起使用:驱动器A:B:、可移动驱动器、网络驱动器、固定驱动器、CD-ROM 、RAM 驱动器和未知驱动器

Windows 注册表中图标覆盖的命名不是问题。

名称自动加上“1”、“2”等前缀。

在 OneDrive 图标之前的列表顶部按字母顺序强制它们(在我的计算机中)。

所以,所有图标都在前 15 位。要进入 Tortoise 设置,请右键单击桌面或文件夹,然后选择 TortoiseSVN > 设置

在“设置”中,选择图标叠加层。您会在此处找到驱动器类型设置。

【讨论】:

不只是 1,2 和 3。名称前也有空格。无论如何,他们应该站在列表的顶部 是的!检查“可移动驱动器”和“网络驱动器”是我需要做的。 不幸的是,这并没有解决我在 Windows 10 上使用 TortoiseSVN 1.9.4 和 TortoiseGIT 2.3.0.0 的问题。 :-/ 虽然我没有抱太大希望,但由于某种原因,检查网络和可移动驱动器修复了我在 windows 10 v1607-14393.447 上使用 tortoise svn 1.9.4 27285 的问题(尽管我的文件在固定驱动器上) ;两者都是 x64。 谢谢,今天用 TortoiseGIT 遇到了这个问题。检查驱动器类型区域下的必要框是我的解决方案。【参考方案4】:

你可以去:

Tortoise Settings > Icon Overlays -> Overlay Handlers

并取消选中所有复选框,应用,然后重新激活它们并应用。

这将在注册表中执行相同的操作,但不会手动执行。

否则,您可以使用下面的按钮打开注册表,然后向上移动键,在名称前附加一些空格。

【讨论】:

为我工作。需要重新启动,但之后覆盖就在那里 它在 Win 10 Pro 上对我不起作用。 :-/ 您是否必须重新启动两次:一次是在取消选中复选框后,一次是在重新选中它们后? 我必须以管理员身份启动“设置”程序。最后我只是在任务管理器中重新启动了资源管理器,它又可以工作了。 我必须先卸载 drop box,然后这些注册表修复程序才能起作用。只是提醒他人。【参考方案5】:

Windows 资源管理器分配了 15 个自定义叠加图标(Windows 保留 4 个,因此实际上只有 11 overlay icons) - 它们在多个应用程序之间共享(Google 驱动器、一个驱动器、Tortoise SVN)。如果您安装了多个应用程序 - 列表中的第一个应用程序将显示其图标,其余应用程序不会。

问题在https://tortoisesvn.net/faq.html#ovlnotall中有更深入的描述。

在以下位置打开注册表编辑器:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

将不重要的图标重命名为以“z_”前缀开头(将在列表中的最后一个,之后将不再使用)。

可能需要重新启动 Windows,因为仅重新启动资源管理器不起作用。但在我的情况下,图标在一段时间后似乎是正确的。 (10-20 分钟?)。

【讨论】:

令人难以置信的是,这个限制是我的图标出现问题的原因:O【参考方案6】:

TortoiseSVN 1.9.1 将通过将覆盖图标(以 2 个空格开头)重命名为 make sure they are loaded before the OneDrive icons 来解决此问题。

【讨论】:

很遗憾,我们无法升级到 TortoiseSVN 1.9,因为我们的服务器仍在运行 svn-1.6。任何想法如何用 TortoiseSVN 1.8 解决这个问题? 我尝试重新安装 ToortoiseSVN 1.9.4,不幸的是,这并没有解决我在 Windows 10 上的问题(使用 TortoiseSVN 1.9.4 和 TortoiseGIT 2.3.0.0)。 :-/ @Jean-FrançoisBeauchamp 计算已注册覆盖的数量,如果超过 15 个则删除一些 令人恼火的是,现在 Dropbox 似乎在 its 覆盖图标处理程序的名称之前插入了 3 个空格....所以我需要重命名我的 TortoiseSVN 图标处理程序在前面有 4 个空格。这只是一场消耗战:( @JonPawley 对微软没有增加丑陋的限制说“谢谢”。他们现在将 BSOD 的颜色更改为绿色,而不是让 Windows 的核心变得更好。在这里您可以看到他们的优先事项。【参考方案7】:

我建议您更改叠加层的状态缓存。

Settings -> Icon Overlays -> Status cache

也许这将有助于重新初始化缓存。

请务必使用最新版本的 Tortoise。

【讨论】:

我试过了,但它对我不起作用。感谢您的建议。 不幸的是,这并没有解决我在 Windows 10 上使用 TortoiseSVN 1.9.4 和 TortoiseGIT 2.3.0.0 的问题。 :-/ 我尝试了其他几种组合,但没有成功,但这个建议解决了我的问题。 @madan nice :-)【参考方案8】:

检查您的显示器缩放比例

我的问题原来是这样的:

事实证明,主显示器和辅助显示器上的 DPI 缩放不同。当辅助监视器设置为 125%(与主监视器相同)时,图标再次出现。

Answer actually provided by User3163 posting on SuperUser.com

【讨论】:

这就是我的情况。我尝试了其他答案中列出的所有其他步骤,包括更改注册表。它们都不适合我。但是,我有一个以原始分辨率运行的双外接显示器,而我的内部显示器以 125% 的速度运行(对我来说更容易)。只有在将我的内部显示更改为 100% 之后,图标叠加才会显示给我。我在 Windows 10 上使用 TortoiseGit v2.2.0.0。微软前进的道路......仍然没有 DPI 缩放正常工作。感谢@BenButzer 的回答! 这个答案需要更多的可见性!什么都试过了,结果是DPI。 就我而言,尺度相同或不同并不重要;重要的是规模本身。例如,一台显示器上的 150% 在该显示器上是可以的,但在另一台显示器上却不是 100%。如果我将一个显示图标的窗口从 150% 显示器移到 100% 显示器,图标就会消失。某人的出色设计......不是。【参考方案9】:

我遇到了和 OP 一样的问题。安装 1.9.2 版无需任何调整即可解决问题。

【讨论】:

就我而言,我使用的是 1.9.3。 从 1.7.7 升级后。到 1.9.4,我必须右键单击资源管理器中映射到 SVN 的文件夹,然后选择 SVN 升级工作副本。只有在允许升级“到新的 1.8 格式”后,图标覆盖才会重新出现。 现在擦除硬盘后,重新安装 Windows 10,然后重新安装 TortoiseSVN 1.9.2。图标不会再次出现。我不得不将隐藏文件夹从 _svn 重命名为 .svn。似乎之前可能有过覆盖(请参阅***.com/a/21636584/550712)【参考方案10】:

以下步骤对我有用:

    TortoiseSVN -> 设置 -> IconOverlays -> 图标集 选择“Win10”图标集 重新启动计算机。

【讨论】:

恐怕这对TortoiseSVN-1.9.5.27581-x64 和Microsoft Windows `[Version 10.0.14393]' 无效。 我也可以确认这对最新的 SVN 没有影响。 为我工作,如果一开始不起作用,请尝试在清理下刷新 Shell Overlays。 使用 Tortoise SVN 1.14.0 也为我工作【参考方案11】:

对于使用 Windows 10 的任何人,反馈中心都会请求让 Microsoft 解决此问题。如果您想添加 +1 来修复它,请点击以下链接:https://aka.ms/Cryalp。

该链接仅适用于 Windows 10,因为它需要打开反馈中心才能获得建议。该链接是使用反馈中心中的“共享”功能生成的,aka.ms 是 Microsoft 使用的内部链接缩短服务。

【讨论】:

【参考方案12】:

请将您的 Tortoise SVN 升级到最新版本.. 我建议您更改设置see here

Settings -> Icon Overlays -> Status cache

将其设为 Shell 并应用

现在重新启动您的机器以反映更改。

【讨论】:

【参考方案13】:

Tortoise 设置 > 图标覆盖 -> 覆盖处理程序 -> 启动注册表编辑器

1. 重命名图标名称:通过在文件名的开头添加一个空格和 然后按 F5 直到它转到顶部。 例如:“Tortoise1Normal”(默认包含 2 个空格)⇒“Tortoise1Normal”(3 个空格)

2.在任务管理器中重启资源管理器

Registry

【讨论】:

【参考方案14】:

svn 升级工作副本。就我而言,Jenkins 从未进行过完整的全新结帐,因此工作副本已过时。

【讨论】:

这应该是我认为的评论。【参考方案15】:

我使用的是 Subversion 1.7.x,安装 1.9.1 版或修改注册表项并没有解决这个图标覆盖问题。

在我的例子中,使用 SVN 升级工作副本后,升级项目的图标覆盖出现了。

总之,使用 Subversion 1.7.x 的旧项目不会显示图标,使用 Subversion 1.9.x 的项目会显示(在 Windows 10 下)。

提示:Settings -> Icon Overlays -> Overlay Handlers -> Start registry editor 中有一个按钮可将您带到注册表。至少在 1.9.1 版本中

【讨论】:

【参考方案16】:

我删除了我所有的 onedrive 密钥,安装了最新的预览版等,最后意识到这些图标一直适用于某些资源管理器目录视图,而不是其他的。

换句话说,中、大、特大和平铺,但不是列表或详细信息。由于我不想全部了解它是如何工作的,所以我现在只是将我的工作目录视为图块。

【讨论】:

【参考方案17】:

正如其他人所指出的,覆盖图标注册表区域很拥挤。这是一个 powershell 脚本,允许您将注册表中的所有叠加层转储到一个文件中,然后在您编辑文件以按照您想要的方式优先处理您的叠加层后,您可以将它们重新导入并保护它们免受其他程序的进一步修改在 SYSTEM 下运行。

https://github.com/polachz/OverlayIconFix

【讨论】:

【参考方案18】:

我做了以上所有,但没有任何效果。覆盖图标出现在资源管理器中,但不在 Total Commander 中。

最终为我解决了这个问题的是我在 Total Commander 中发现了一个刷新覆盖图标的命令。要访问它,请右键单击工具栏并单击“更改...”,然后添加“cm_SwitchOverlayIcons”,如下图所示。

将命令图标添加到工具栏后,点击一次,出现了TortoiseSVN的叠加图标!

【讨论】:

【参考方案19】:

如果您使用其他版本控制软件,可能会发生冲突。就我而言,卸载 Plastic SCM 会恢复 Tortoise SVN 图标。

【讨论】:

【参考方案20】:

检查“可移动驱动器”和“网络驱动器”对我有用。

【讨论】:

以上是关于TortoiseSVN 图标覆盖更新到 Windows 10 后不显示的主要内容,如果未能解决你的问题,请参考以下文章

Tortoise SVN图标叠加未显示在共享映射网络驱动器文件夹中

TortoiseSVN Checkout的文件夹没有绿色小对号,其他更改添加等所有小图标均未显

.NET:如何创建文件图标覆盖

TortoiseSVN文件夹及文件图标标识绿色小对号不显示解决方法(转载)

关于svn 更新到本地库 图标不显示问题

TortoiseSVN文件夹及文件图标不显示的解决办法