我一直在使用TortoiseGit
差不多整整一年了。直到昨天我遇到问题时,它一直很好用。我正在删除一个文件夹,当Windows资源管理器崩溃了我(它挂在“发现项目”上)超过一个小时,然后我重新启动了系统。
从那时起(我不确定所描述的事件是否与它有关),TortoiseGit已经停止在资源管理器中显示图标叠加。但是,这种行为与其他在此处发布问题的人不同,因为:
在所有节目的
open file
对话中,图标仍然存在(!)。
这是我尝试的一系列事项:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer
\ShellIconOverlayIdentifiers
中以“Tortoise”开头的所有图标叠加,然后卸载了TortoiseGit,重新启动了计算机并重新安装了TortoiseGit。编辑:
我试图在我的计算机上创建一个新用户,新用户的图标叠加工作正常。我现在更加困惑。
到目前为止没有任何帮助。有任何想法吗?
我有同样的问题,我按照论坛的指示开始工作。我做的是这个(复制):
我找到了解决方案:)在
""
下用HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
包裹所有龟甲在
1TortoiseNormal
和其他...我理解这个问题,看到Dropbox并且它工作regedit有标志(""
)到Dropbox而不是乌龟。所以我添加了标志,关闭explorer.exe并跳转它很好:)
所以我所做的是将密钥1TortioiseNormal
重命名为"1TortioiseNormal"
等。我不知道为什么将它包装在双引号内使其再次起作用。
原始论坛已经消失,但a good summary在评论中提供。
领先空间的问题在于,每次重新启动时,Dropbox都会为其注册表添加另一个空间,并且始终领先于您。
因此,我已安排在此HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer
(由Christoph Zwerschke)上找到的python脚本,以便每次计算机启动时执行。此后您还必须重新启动资源管理器。
.bat看起来像:
post
和python脚本:
python iconOverlayFixer.py
taskkill /f /im explorer.exe
start explorer.exe
Windows 10对我有用的是
我同意Chi Chan,我想补充一下作为补充答案。
这是Dropbox Explorer图标。这是一个删除它们的注册表脚本。把它保存在某个地方,因为它们会回来!
请注意,值也会不时变化。目前它们在“DropboxExtXX”之前有3个空格,之后它们只有一个。
#/usr/bin/python3
import os
import winreg as reg
# names of all overlay icons that shall be boosted:
boost = """
Tortoise1Normal
Tortoise2Modified
Tortoise3Conflict
Tortoise4Locked
Tortoise5ReadOnly
Tortoise6Deleted
Tortoise7Added
Tortoise8Ignored
Tortoise9Unversioned
"""
boost = set(boost.split())
with reg.OpenKey(reg.HKEY_LOCAL_MACHINE,
r'SOFTWARE\Microsoft\Windows\CurrentVersion'
r'\Explorer\ShellIconOverlayIdentifiers') as base:
names = set()
renames = []
i = 0
while True:
try:
name = reg.EnumKey(base, i)
except OSError:
break
core = name.strip()
if core in names:
print('Delete', repr(core))
reg.DeleteKey(base, name)
else:
names.add(core)
if core in boost:
core = ' ' + core
if core != name:
renames.append((name, core))
i += 1
if renames:
for old_name, new_name in renames:
print('Rename', repr(old_name), 'to', repr(new_name))
value = reg.QueryValue(base, old_name)
reg.CreateKey(base, new_name)
reg.SetValue(base, new_name, reg.REG_SZ, value)
reg.DeleteKey(base, old_name)
else:
print('Nothing to rename')
好吧,我想我错过了明显的一步......
在TortoiseGit设置>图标叠加:
Windows Registry Editor Version 5.00
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt01]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt02]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt03]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt04]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt05]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt06]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt07]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt08]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt09]
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\ DropboxExt10]
很久以前,我试图通过编辑注册表来解决图标覆盖问题:Make sure to add your projects folder to the "Include Paths" box.
或HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
,但每次更新OneDrive或Dropbox时,它们都会为其注册表添加更多空间。但问题解决了:
选择TortoiseGit设置>图标覆盖>(状态缓存)Shell扩展HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
目前,OneDrive和Dropbox位于ShellIconOverlayIdentifiers列表的顶部,但所有Tortoise图标叠加都正确显示
Windows最多只允许11个图标覆盖标识符,以字母数字顺序排列 - 如果超过11,则不会显示这些图标。
您可以在DOS提示符下运行以下命令:
regedit /e c:\icons.txt HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
然后打开文件C:\icons.txt
。跳过前两行,如果1TortoiseNormal
和其他*Tortoise*
值不在前11个值中,则不会显示其图标叠加。 @Chi Chan提供的解决方案只是在所有叠加层中排序时使1TortoiseNormal
等级更高的简单方法,您还可以通过在1TortoiseNormal
之前添加空格来重命名值,即
" 1TortoiseNormal"
使他们排名更高。
更新:对于Windows 8,图标叠加的限制为15。
Windows 10解决方案步骤;
路径:
HKEY_LOCAL_MACHINE \ SOFTWARE \微软\的Windows \ CurrentVersion \ Explorer中\ ShellIconOverlayIdentifiers
在发疯之前,请尝试重新启动!它对我有用;)
只需在此regedit addersses中添加一个Space(或更多,如果需要)到第一个Tortoise选项名称:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
例如:
"1TortoiseNormal"
应改为:
" 1TortoiseNormal"
在系统qazxsw poi图标显示之后。
卸载TortoiseSVN后,我今天遇到了同样的问题。我重新启动,但仍然没有运气,所以我刚进入控制面板,卸载程序和TortoiseGit项目,我选择了“修复”,一切都恢复正常。我怀疑所有Tortoise应用程序都有一些共享的注册表项或其他东西。
我也让我的TortoiseGIT shell图标突然显示,我不记得究竟是什么导致它但我发现这并尝试注册表的东西将1TortioiseNormal改为“1TortioiseNormal”等等。无论如何,这可能是一件好事,但图标叠加仍然无法正常工作。
我太忙了,无法回答“重新启动计算机”,对我说的是“某些服务流程需要重新启动,但你永远无法找到它,只需重新启动即可。”罗。
我也使用TortoiseSVN,那些图标叠加仍然适合我。我查看了任务管理器的进程选项卡,看到我有一个名为TSVNCache.exe的东西正在运行。没有任何类似git的迹象,所以我突然想到了应用程序选项卡并点击“新任务”,输入了TGITCache.exe并确定该进程已启动。从那里返回进程,杀死explorer.exe,然后再次返回应用程序 - >新任务并启动explorer.exe。
当我的TortoiseGIT图标叠加已经退出时,这对我有用了两次,所以,也许它对其他人有效。
我在Windows 10 64位机器上首先安装了TortoiseSVN(1.9.5)和msysgit(2.11.0)。 TortoiseSVN图标显示正常。
当我在这两个之后安装TortoiseGit(2.3.0.0)时,图标将无法显示。
我检查了reboot
,一切都很好看。乌龟图标排在前10名。
我曾经在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
提出修复:
- 打开TortoiseGit issue #692 on GitLab 去
regedit.exe
添加值为“2000”的新字符串值“Max Cached Icons”关闭/重新启动资源管理器和图标显示!
对我有用的是从我的电脑上卸载Google云端硬盘。不知道为什么。