O TortoiseGit não mostra sobreposições de ícones

133

Eu tenho usado TortoiseGitpor quase um ano inteiro agora. Ele está funcionando muito bem para mim até ontem, quando encontrei um problema. Eu estava excluindo uma pasta quando o Windows Explorer meio que travou em mim (ficou suspenso em "descobrindo itens") por mais de uma hora e reiniciei o sistema.

Desde essa altura (e eu estou não tenho certeza se o incidente descrito tem nada a ver com isso), TortoiseGit parou mostrando sobreposições de ícones no explorador. O comportamento, no entanto, não é como qualquer um dos outros que postaram perguntas aqui, porque:

No open filediálogo de todos os programas, os ícones ainda existem (!).

Aqui está uma lista de coisas que tentei:

  1. Alterei as configurações do TortoiseGit para mostrar ícones diferentes.
  2. Reinstale o TortoiseGit (desinstalar, reiniciar, instalar, reiniciar).
  3. Apaguei todas as superposições de ícones começando com "Tortoise" HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \ShellIconOverlayIdentifiers, desinstalei o TortoiseGit, reiniciei o computador e reinstalei o TortoiseGit.

Editar:

Tentei criar um novo usuário no meu computador, e o novo usuário tem sobreposições de ícones funcionando perfeitamente. Agora estou ainda mais confuso.

Nada ajudou até agora. Alguma ideia?

5xum
fonte
Você tem o TortoiseSVN instalado?
mozgow
@mozgow Não, apenas TortoiseGit
5xum
5
A mesma coisa aconteceu comigo. O meu aconteceu porque eu instalei o "Dropbox" na minha máquina. O Dropbox também usa IconOverlays, e eles têm uma classificação mais alta na lista que o TortoiseGit. E como você só pode ter 15, talvez não os veja por esse motivo. O meu começa na lista de 19 a 28, daí o meu motivo para não vê-los. Use a sugestão de Dzhuang abaixo para ver onde suas Overlays estão na lista.
Chad
Possível duplicata das sobreposições de ícones
MrTux 15/02
@MrTux Gostaria de saber como você considera uma pergunta feita em 6 de agosto de 2014 como uma duplicata de uma pergunta feita em 11 de janeiro de 2017 (ou seja, mais de 2 anos depois ).
5xum

Respostas:

130

Eu tive o mesmo problema e consegui funcionar seguindo as instruções de um fórum. O que eu fiz foi isso (copiado):

Acho a solução :) Envolvendo com ""todas as chaves de tartaruga em HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

em 1TortoiseNormale etc ... eu entendi o problema, vendo como Dropbox e funcionou regedit havia o sinal ( "") para Dropbox, mas não tartaruga. Então eu adicionei os sinais, fechei o explorer.exe e esperei que fosse bom :)

Então, o que fiz foi renomear a chave 1TortoiseNormalpara "1TortoiseNormal"etc. Não faço ideia por que envolvê-la em aspas duplas faz com que funcione novamente.

O fórum original se foi, mas um bom resumo é fornecido nos comentários.

Chi Chan
fonte
33
Provavelmente é uma questão de classificação. O caractere de aspas duplas é um dos primeiros caracteres imprimíveis; portanto, "DropboxExt1" vem antes de 1TortoiseNormal, mas "1TortoiseNormal" vem antes de "DropboxExt1". Eu também tentei remover as aspas duplas das chaves do Dropbox e funcionou.
user34814
5
Aprendeu algo com as entradas do Skype. Em vez de envolvê-lo "" (aspas duplas), basta adicionar um espaço no início das entradas. Portanto, as entradas seriam <space-char> 1TortoiseNormal e etc ... É finalmente uma questão de classificação :) parece.
Pratham 26/02
5
Eu também tive o mesmo problema depois de instalar o dropbox. Eu achei a razão / solução alternativa neste blog clara, no entanto, depois de renomear as chaves de tartaruga, elas não pareciam recorrer ao topo da lista. Demorei um pouco para perceber que as teclas da caixa de depósito tinham um espaço na frente .. então renomeei as tartarugas para <space> 1TortoiseNormal, etc. BLOG: blog.garethjmsaunders.co.uk/2015/03/22/…
user1420372
10
@CodyStott Acontece que a MS agora está fazendo o mesmo ... Os ícones do OneDrive também começam com um espaço ... Em 10 anos, depois que todas as empresas descobrirem esse truque, todos os nomes-chave começarão com dezenas de espaços ...: p
Stijn de Witt
30
ATUALIZAÇÃO: O Dropbox agora também adiciona 3 espaços à frente ... MS, observe-o (bem, você já fez o OneDrive usando esse truque) e tome uma atitude . Isso é uma merda. E o que há com esse ícone no máximo de 11/15? É 2017?!? Não preciso de mais uma revisão da interface do usuário ... Preciso de coisas como essas para ser corrigido em menos de duas décadas!
Stijn de Witt
102

O Windows permitirá apenas até 11 identificadores de sobreposição de ícones, organizados em ordem alfanumérica - se houver mais de 11, esses ícones não serão exibidos.

Você pode executar o seguinte comando em um prompt do DOS:

regedit /e c:\icons.txt HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

Em seguida, abra o arquivo C:\icons.txt. Pule as duas primeiras linhas e se 1TortoiseNormale os outros *Tortoise*valores não estiverem entre os 11 principais, suas sobreposições de ícones não serão mostradas. A solução fornecida pelo @Chi Chan é apenas uma maneira simples de aumentar a 1TortoiseNormalclassificação quando ordenada entre todas as sobreposições. Você também pode renomear os valores adicionando espaço (s) antes 1TortoiseNormal, ou seja,

" 1TortoiseNormal"

para torná-los mais altos.

update: para Windows 8, o limite de sobreposições de ícones é 15.

Dzhuang
fonte
35
RI MUITO. Então, acabei de atualizar para o Windows 10 e meus ícones do TortoiseGit estavam ausentes. Pesquisei e encontrei este tópico ... Acontece que a Microsoft provavelmente também leu esse tópico, porque os ícones do OneDrive começam com um espaço por padrão! Que tolice da Microsoft eles recorrerem a isso ... em vez de apenas criar uma tela que nos permita configurar a ordem / prioridade das anotações de ícone nas configurações do Windows.
Stijn de Witt
20
@StijndeWitt GoogleDrive e TortoiseSVN / Git agora parecem ter aumentado a aposta e adicionado 2 espaços. Estamos oficialmente em uma corrida espacial agora ...
icc97
15
@ icc97 LOL @ 'corrida espacial'. Mas DropBox é um passo à frente desses amadores ... eles adicionar 3 espaços: [....\ DropboxExt01](edit: SO desmorona-los em 1 parece ...)
Stijn de Witt
8
NOTA!! Reinicie o Windows Explorer para que os ícones apareçam. Pressione Ctrl + Shift + Esc e reiniciar "Windows Explorer" (Opcionalmente reinicialização do computador)
PhillipPDX
7
Também comentei acima, mas gostaria de acrescentar aqui que todos os grandes provedores de nuvem (onedrive, dropbox, google drive) agora DINAMICAMENTE leem a lista e se adaptam automaticamente e abrem espaços para "vencer" a guerra ... até a próxima. atualiza e faz o mesmo. A mina agora tem literalmente todos pelo menos CINCO espaços à frente !! Além disso, são 15 do Vista e posteriores.
precisa saber é o seguinte
40

Etapas da solução para Windows 10;

  1. Regedit aberto

Caminho:

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

  1. Remova / exclua todas as chaves do SkyDrive / OneDrive. Você pode precisar se apropriar das chaves uma a uma e conceder controle total ao usuário se você receber um erro ao tentar excluir as chaves.

  2. Pressione Ctrl + Shift + Esc e reinicie o "Windows Explorer" (opcionalmente, reinicie o computador)

  3. Todos os ícones de sobreposição de git / svn agora estão visíveis!

replicantspy
fonte
Isso funciona para mim. Parece que há um limite para o número de sobreposições de ícones permitidas no Windows Explorer.
Yodacheese
6
Por qualquer motivo, não consegui excluir as chaves do OneDrive. Acabei de adicionar três espaços ao início das chaves do Tortoise, reiniciei e funcionou novamente.
NickH
1
O OneDrive coloca as chaves de volta na próxima vez que você fizer logon novamente.
Mike Lowery
2
Em vez de excluir as chaves existentes, você pode apenas adicionar dois (ou mais) espaços na frente de todas as chaves do Tortoise . Terá o mesmo efeito - e permitirá que você participe da corrida espacial!
Corpus Gigantus
28

Antes de enlouquecer, tente reiniciar! Funcionou para mim;)

Jan Hettich
fonte
8
Honestamente, você realmente acha que eu não tentei isso? De fato, escrevi que reiniciei o computador na etapa 2.
5xum
14
O voto negativo é injustificado. Minha resposta foi para o benefício de outras pessoas que acessaram esta página como eu, quando tive o problema. Devo ter perdido meia hora tentando descobrir qual era o problema, antes de apenas reiniciar o meu PC. Compreendo que isso não funcionou para você, mas pode funcionar para outros.
Jan Hettich
3
Trabalhou para mim ... Definitivamente, vale a pena estar na lista de verificação como um primeiro passo antes de tentar soluções mais complexas.
Tony O'Hagan
4
Isso me ajudou também. Eu sabia que as sobreposições de ícones estavam ligadas ao explorerprocesso e, com o TortoiseSVN, era possível simplesmente matar e reiniciar o explorerprocesso (não a janela ativa, mas a principal) para evitar a reinicialização. Fiz o mesmo com o TortoiseGit, mas isso não foi suficiente. Uma reinicialização ajudou.
Slav
1
Li todas as respostas, incluindo esta, e depois optei por apenas reiniciar o Windows Explorer (usei a abordagem Ctrl + Shift + Asc e depois reiniciar processo mencionada na resposta de @ replicantspy ). Funcionou para mim! Portanto, o +1 para esta resposta é bastante justo. :) Tks!
Luiz Vieira
16

Basta adicionar um espaço (ou mais, se necessário) às opções do primeiro nome da tartaruga para este regedit addersses:

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

por exemplo:

"1TortoiseNormal"

Deve mudar para:

" 1TortoiseNormal"

após os rebootícones de um sistema serem exibidos corretamente.

Amir Hossein Ghasemi
fonte
4

Instalei o TortoiseSVN (1.9.5) e o msysgit (2.11.0) primeiro na minha máquina com Windows 10 de 64 bits. Os ícones do TortoiseSVN são exibidos corretamente.

Quando instalei o TortoiseGit (2.3.0.0) após esses dois, os ícones não eram exibidos.

Eu verifiquei HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifierse tudo parecia bem. Os ícones da tartaruga estavam no top 10.

O que eu costumava consertar foi levantado na edição # 692 do TortoiseGit no GitLab :

  • Abrir regedit.exe
    • Vamos para HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer
    • Adicione um novo valor de sequência "Máximo de ícones em cache" com o valor "2000"

explorador fechado / reiniciado e exibição de ícones!

icc97
fonte
1
Eu achei que essa era a solução mais fácil, rápida e melhor para mim (Windows 10).
timbo 31/01/19
3

Eu tive esse mesmo problema hoje depois de desinstalar o TortoiseSVN. Reiniciei e ainda não tive sorte, então entrei no Painel de Controle, Desinstale um Programa e no item TortoiseGit, escolhi 'Reparar' e tudo voltou ao normal. Eu suspeito que todos os aplicativos da linha Tortoise tenham algumas chaves de registro compartilhadas ou algo assim.

Richard Edwards
fonte
3

Também tive meus ícones de shell do TortoiseGIT parando de aparecer de repente, não me lembro exatamente o que o levou, mas achei isso e tentei o registro alterando 1TortioiseNormal para "1TortioiseNormal" e assim por diante. Provavelmente, é uma coisa boa a se fazer, independentemente das sobreposições de ícones ainda não funcionarem.

Estou muito ocupado para a resposta geral de "reiniciar o computador", o que isso me diz é "algum processo de serviço precisa ser reiniciado, mas você nunca conseguirá encontrá-lo, apenas reinicie". Nah.

Eu também uso o TortoiseSVN e essas sobreposições de ícones ainda estavam funcionando para mim. Procurei na guia de processos do gerenciador de tarefas e vi que estava executando algo chamado TSVNCache.exe. Nenhum sinal de algo semelhante para o git, então, por um capricho, fui até a guia Aplicativos e cliquei em "Nova Tarefa", digitei o TGITCache.exe e com certeza o processo foi iniciado. A partir daí, volte aos processos, mate o explorer.exe e, em seguida, volte aos aplicativos -> Nova Tarefa novamente e inicie o explorer.exe.

Isso funcionou para mim duas vezes agora, quando minhas sobreposições de ícone do TortoiseGIT foram encerradas, portanto, talvez funcione para outra pessoa.

arudlang
fonte
2

O que funcionou para mim foi desinstalar o Google Drive do meu computador. Ainda não sei por que.

Darien Pardinas
fonte
Veja meus comentários acima. Há um limite codificado de 15 sobreposições e o Google Drive usa vários, assim como o Onedrive, o dropbox e outros. Torroise é um dos piores usando 10, por si só, deixando quase nenhum para qualquer outra coisa. Ao remover o Google Drive, você simplesmente excluiu as teclas de registro de sobreposição, deixando "15" o suficiente para finalmente ver os ícones do Tortoise.
precisa saber é o seguinte
2

Concordo com Chi Chan e gostaria de acrescentar isso como uma resposta complementar.

São os ícones do Dropbox Explorer. Aqui está um script de registro para removê-los. Salve em algum lugar, porque eles voltarão!

Observe que os valores também mudam de tempos em tempos. Atualmente, eles têm três espaços antes do "DropboxExtXX", antes de terem apenas um.

Remover Dropbox Explorer Icons.reg

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]
bytecode77
fonte
1

O problema com os espaços principais é que, toda vez que você reinicia, o Dropbox adiciona outro espaço aos seus registros e sempre estará um passo à sua frente.

Então, eu agendei um script python encontrado nesta postagem (de Christoph Zwerschke) para ser executado sempre que o computador inicializar. Você também precisa reiniciar o Explorer depois disso.

O .bat será parecido com:

python iconOverlayFixer.py
taskkill /f /im explorer.exe 
start explorer.exe  

E o script python:

#/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')
mathiasfk
fonte
1

O que funcionou para mim no Windows 10 é

  1. desinstalando o TortoiseGit
  2. limpeza de pastas e registro
  3. instalando-o mais uma vez
  4. reiniciando o computador
  5. fazendo commit aleatório mesmo sem ver o ícone vermelho
romano
fonte