TortoiseGit non mostra sovrapposizioni di icone


133

Sto usando TortoiseGitda quasi un anno intero ormai. Ha funzionato molto bene per me fino a ieri, quando ho riscontrato un problema. Stavo cancellando una cartella quando Windows Explorer si è schiantato su di me (si è bloccato sulla "scoperta di elementi") per oltre un'ora, quindi ho riavviato il sistema.

Da quel momento (e io sono non sicuro se l'incidente descritto ha nulla a che fare con esso), TortoiseGit ha smesso di mostrare icona sovrapposizioni in Esplora risorse. Il comportamento, tuttavia, non è come quello degli altri che hanno pubblicato domande qui, perché:

Nel open filedialogo di tutti i programmi, le icone esistono ancora (!).

Ecco un elenco di cose che ho provato:

  1. Ho modificato le impostazioni di TortoiseGit per mostrare icone diverse.
  2. Reinstalla TortoiseGit (disinstalla, riavvia, installa, riavvia).
  3. Ho eliminato tutte le sovrapposizioni di icone a partire da "Tortoise" in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \ShellIconOverlayIdentifiers, quindi disinstallato TortoiseGit, riavviato il computer e reinstallato TortoiseGit.

Modificare:

Ho provato a creare un nuovo utente sul mio computer e il nuovo utente ha sovrapposizioni di icone che funzionano bene. Ora sono ancora più confuso.

Finora nulla ha aiutato. Qualche idea?


TortoiseSVN è installato?
Mozgow,

@mozgow No, solo TortoiseGit
5xum

5
La stessa cosa è successa a me. Il mio è successo perché ho installato "Dropbox" sul mio computer. Dropbox utilizza anche IconOverlays e si posizionano più in alto nell'elenco rispetto a TortoiseGit. E poiché puoi averne solo 15, potresti non vederle per quel motivo. I miei iniziano nella lista dal 19 al 28, quindi la mia ragione per non vederli. Usa il suggerimento di Dzhuang di seguito per vedere dove si trovano le tue sovrapposizioni nell'elenco.
Chad,

Possibile duplicato delle sovrapposizioni dell'icona
MrTux,

@MrTux Sarei curioso di sapere come consideri una domanda posta il 6 agosto 2014 come un duplicato di una domanda che è stata posta l'11 gennaio 2017 (cioè oltre 2 anni dopo ).
5xum,

Risposte:


130

Ho avuto lo stesso problema e l'ho fatto funzionare seguendo le istruzioni di un forum. Quello che ho fatto è stato questo (copiato):

Trovo la soluzione :) Confezione con ""tutte le chiavi di tartaruga sotto HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

su 1TortoiseNormaled ecc ... ho capito il problema, visto che Dropbox e ha funzionato regedit c'era il segno ( "") per Dropbox, ma non tartaruga. Quindi ho aggiunto i segni, chiudo explorer.exe e ho sperato che fosse buono :)

Quindi quello che ho fatto è stato rinominare la chiave 1TortoiseNormalin "1TortoiseNormal"ecc. Non ho idea del perché racchiuderlo tra virgolette doppie per farlo funzionare di nuovo.

Il forum originale è sparito, ma nei commenti viene fornito un buon riassunto .


33
Probabilmente è una questione di smistamento. Il carattere a virgoletta doppia è uno dei primi caratteri stampabili, quindi "DropboxExt1" precede 1TortoiseNormal, ma "1TortoiseNormal" precede "DropboxExt1". Ho anche provato a rimuovere la doppia virgoletta dalle chiavi di Dropbox e ha funzionato.
user34814

5
Ho imparato qualcosa dalle voci di Skype. Invece di racchiuderlo "" (virgolette doppie) basta aggiungere uno spazio all'inizio delle voci. Quindi le voci sarebbero <space-char> 1TortoiseNormal ed ecc ... È finalmente una questione di ordinamento :) sembra.
Pratham,

5
Ho anche avuto lo stesso problema dopo l'installazione di Dropbox. Ho trovato il motivo / la soluzione alternativa in questo blog chiaro, tuttavia dopo aver rinominato le chiavi di tartaruga non sembravano ricorrere in cima all'elenco .. Mi ci è voluto un po 'di tempo per capire che le chiavi del dropbox avevano uno spazio nella parte anteriore .. così ho rinominato quelli di tartaruga in <space> 1TortoiseNormal, ecc. BLOG: blog.garethjmsaunders.co.uk/2015/03/22/…
user1420372

10
@CodyStott Si scopre che MS ora sta facendo lo stesso ... Le icone di OneDrive iniziano anche con uno spazio ... Tra 10 anni dopo che tutte le aziende hanno capito questo trucco, tutti i nomi chiave inizieranno con dozzine di spazi ...: p
Stijn de Witt,

30
AGGIORNAMENTO: Dropbox ora aggiunge anche 3 spazi davanti ... MS, per favore, prendi nota (bene hai già fatto mentre OneDrive sta usando questo trucco) e agisci . Questo fa schifo completamente. E comunque che succede con questa icona 11/15 al massimo? È il 2017?!? Non ho bisogno di un'altra revisione dell'interfaccia utente ... Ho bisogno di cose come questa da sistemare in meno di 2 decenni!
Stijn de Witt,

102

Windows consentirà solo fino a 11 identificatori di sovrapposizioni di icone, disposti in ordine alfanumerico - se ce ne sono più di 11, queste icone non verranno visualizzate.

È possibile eseguire il comando seguente in un prompt di DOS:

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

Quindi apri il file C:\icons.txt. Salta le prime due righe e se 1TortoiseNormale gli altri *Tortoise*valori non sono tra i primi 11 valori, le loro sovrapposizioni di icone non verranno visualizzate. La soluzione fornita da @Chi Chan è solo un modo semplice per aumentare il 1TortoiseNormalrango quando ordinato tra tutti gli overlay, è inoltre possibile rinominare i valori aggiungendo uno o più spazi prima 1TortoiseNormal, ovvero

" 1TortoiseNormal"

per farli classificare più in alto.

aggiornamento: per Windows 8, il limite di sovrapposizioni di icone è 15.


35
LOL. Quindi ho appena eseguito l'aggiornamento a Windows 10 e mancavano le mie icone TortoiseGit, quindi ho cercato e trovato questo thread ... Risulta che probabilmente Microsoft ha letto anche questo thread perché le icone di OneDrive iniziano con uno spazio per impostazione predefinita !! Che stupidità di Microsoft che ricorrerebbero a quello ... invece di creare semplicemente una schermata che ci consenta di configurare l'ordine / priorità delle annotazioni delle icone dalle impostazioni di Windows.
Stijn de Witt, l'

20
@StijndeWitt GoogleDrive e TortoiseSVN / Git ora sembrano aver alzato l'ante e aggiunto 2 spazi. Siamo ufficialmente in una corsa allo spazio ora ...
icc97

15
@ icc97 LOL @ 'corsa allo spazio'. Ma DropBox è un passo avanti rispetto a questi dilettanti ... aggiungono 3 spazi: [....\ DropboxExt01](modifica: SO li crolla in 1 sembra ...)
Stijn de Witt,

8
NOTA!! Riavvia Esplora risorse per visualizzare le icone. Premi Ctrl + Maiusc + Esc e riavvia "Esplora risorse" (facoltativamente riavvia il computer)
PhillipPDX

7
Ho appena commentato anche sopra, ma volevo aggiungere qui che tutti i grandi fornitori di cloud (onedrive, dropbox, google drive) ora leggono DYNAMICALMENTE l'elenco e ADATTANO AUTOMATICAMENTE e si occupano degli spazi per "vincere" la guerra .... fino al prossimo aggiorna e fa lo stesso. I miei ora hanno letteralmente almeno CINQUE spazi principali !! Inoltre, sono 15 da Vista e versioni successive.
Collin Chaffin,

40

Passaggi della soluzione di Windows 10;

  1. Apri regedit

Sentiero :

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

  1. Rimuovi / elimina tutte le chiavi SkyDrive / OneDrive. Potrebbe essere necessario assumere la proprietà delle chiavi una per una e dare il pieno controllo all'utente se si riceve un errore durante il tentativo di eliminare le chiavi.

  2. Premi Ctrl + Maiusc + Esc e riavvia "Esplora risorse" (facoltativamente riavvia il computer)

  3. Tutte le icone di sovrapposizione git / svn sono ora visibili!


Questo funziona per me. Sembra che ci sia un limite al numero di sovrapposizioni di icone consentite su Windows Explorer.
Yodacheese,

6
Per qualsiasi motivo non sono riuscito a eliminare le chiavi OneDrive. Ho appena aggiunto tre spazi all'inizio delle chiavi Tortoise, riavviato e ha funzionato di nuovo.
NickH,

1
OneDrive ripristina le chiavi alla successiva registrazione.
Mike Lowery,

2
Invece di eliminare le chiavi esistenti, puoi semplicemente aggiungere due (o più) spazi davanti a tutte le chiavi Tortoise . Avrà lo stesso effetto e ti consentirà di unirti alla corsa allo spazio!
Corpus Gigantus,

28

Prima di impazzire, prova a riavviare! Ha funzionato per me;)


8
Onestamente, pensi davvero che non ci abbia provato? In effetti, ho scritto che ho riavviato il mio computer al passaggio 2.
5xum

14
Il voto negativo è ingiustificato. La mia risposta è stata per gli altri che sono venuti a questa pagina come ho fatto io, quando ho riscontrato il problema. Devo aver sprecato mezz'ora a cercare di capire quale fosse il problema, prima di riavviare il mio PC. Apprezzo che questo non abbia funzionato per te, ma potrebbe funzionare per gli altri.
Jan Hettich,

3
Ha funzionato per me ... Vale sicuramente la pena di essere nella lista di controllo come primo passo prima di provare soluzioni più complesse.
Tony O'Hagan,

4
Anche questo mi ha aiutato. Sapevo che le sovrapposizioni di icone erano legate al explorerprocesso e con TortoiseSVN era possibile semplicemente interrompere e riavviare il explorerprocesso (non la finestra attiva, ma quella principale) per evitare il riavvio. Ho fatto lo stesso per TortoiseGit, ma non era abbastanza. Un riavvio ha aiutato.
slavo

1
Ho letto tutte le risposte, compresa questa, e poi ho optato per il riavvio di Windows Explorer (ho usato l'approccio Ctrl + Maiusc + Asc-quindi-riavvia-processo menzionato nella risposta di @ replicantspy ). Ha funzionato per me! Quindi, il +1 per questa risposta è abbastanza giusto. :) Tks!
Luiz Vieira,

16

Basta aggiungere uno spazio (o più, se necessario) alle prime opzioni Nome della tartaruga a questi adders Regedit:

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

per esempio:

"1TortoiseNormal"

Dovrebbe cambiare in:

" 1TortoiseNormal"

dopo che le rebooticone di un sistema vengono visualizzate in modo corretto.


4

Avevo installato TortoiseSVN (1.9.5) e msysgit (2.11.0) per primi sul mio computer Windows 10 a 64 bit. Le icone di TortoiseSVN sono visualizzate correttamente.

Quando ho installato TortoiseGit (2.3.0.0) dopo questi due icone non venivano visualizzate.

Ho controllato HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifierse tutto sembrava a posto. Le icone di tartaruga erano tra le prime 10.

Quello che ho usato per risolvere è stato sollevato nel numero 692 di TortoiseGit su GitLab :

  • Aperto regedit.exe
    • Vai a HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer
    • Aggiungi un nuovo valore di stringa "Max icone memorizzate nella cache" con valore "2000"

Esploratore chiuso / riavviato e visualizzazione delle icone!


1
Ho scoperto che questa è la soluzione più semplice, veloce e migliore per me (Windows 10).
Timbo

3

Ho avuto questo stesso problema oggi dopo aver disinstallato TortoiseSVN. Ho riavviato e non ho ancora avuto fortuna, quindi sono appena entrato in Pannello di controllo, Disinstalla un programma e sull'elemento TortoiseGit ho scelto "Ripara" e tutto è tornato alla normalità. Sospetto che tutte le app Tortoise abbiano alcune chiavi di registro condivise o qualcosa del genere.


3

Ho anche avuto la visualizzazione improvvisa delle icone della shell TortoiseGIT, non ricordo esattamente cosa lo ha portato ma ho trovato questo e ho provato le cose del registro cambiando 1TortioiseNormal in "1TortioiseNormal" e così via. Questa è probabilmente una buona cosa da fare indipendentemente da cosa, ma le sovrapposizioni di icone non funzionavano ancora.

Sono troppo occupato per la risposta generale di "riavvia il computer" ciò che mi dice è "alcuni processi di servizio devono essere riavviati ma non saresti mai in grado di trovarlo, quindi riavvia". Nah.

Uso anche TortoiseSVN e quelle sovrapposizioni di icone funzionavano ancora per me. Ho guardato nella mia scheda dei processi del task manager e ho visto che avevo in esecuzione qualcosa chiamato TSVNCache.exe. Nessun segno di qualcosa di simile per git, quindi per un capriccio sono passato alla scheda applicazioni e ho premuto "Nuova attività", ho inserito TGITCache.exe e abbastanza sicuro che il processo si è avviato. Da lì torna ai processi, uccidi explorer.exe, quindi torna alle applicazioni -> Nuova attività di nuovo e avvia explorer.exe.

Questo ha funzionato per me due volte ora quando le mie sovrapposizioni dell'icona TortoiseGIT sono state chiuse, quindi, forse funzionerà per qualcun altro.


2

Quello che ha funzionato per me è stato disinstallare Google Drive dal mio computer. Non so ancora perché.


Vedi i miei commenti sopra. Esiste un limite codificato di 15 overlay e Google Drive ne utilizza diversi come Onedrive, dropbox e altri. Torroise è uno dei peggiori usando come 10 tutto da solo, quasi nulla per niente. Rimuovendo Google Drive hai semplicemente cancellato le sue chiavi di registro overlay lasciando abbastanza "libero" dei 15 per vedere finalmente le icone di Tartaruga.
Collin Chaffin,

2

Concordo con Chi Chan e vorrei aggiungerlo come risposta complementare.

Sono le icone di Dropbox Explorer. Ecco uno script di registro per rimuoverli. Salvalo da qualche parte, perché torneranno!

Si noti che anche i valori cambiano di volta in volta. Attualmente hanno 3 spazi prima di "DropboxExtXX", prima di averne solo uno.

Rimuovi 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]

1

Il problema con gli spazi iniziali è che ogni volta che riavvii, Dropbox aggiunge un altro spazio ai suoi registri e sarà sempre un passo avanti a te.

Quindi ho programmato uno script Python trovato su questo post (di Christoph Zwerschke) da eseguire ogni volta che il computer si avvia. Successivamente è necessario riavviare Explorer.

Il .bat apparirà come:

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

E lo 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')

1

Quello che ha funzionato per me per Windows 10 è

  1. disinstallando TortoiseGit
  2. pulizia cartelle e registro
  3. installandolo di nuovo
  4. riavvio del computer
  5. effettuare il commit casuale anche senza vedere l'icona rossa
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.