TortoiseGit n'affiche pas les superpositions d'icônes


133

J'utilise TortoiseGitdepuis presque un an maintenant. Cela a très bien fonctionné pour moi jusqu'à hier, lorsque j'ai rencontré un problème. J'étais en train de supprimer un dossier lorsque l'Explorateur Windows s'est en quelque sorte écrasé sur moi (il s'est accroché à la "découverte d'éléments") pendant plus d'une heure, puis j'ai redémarré le système.

Depuis ce temps (et je ne suis pas sûr si l'incident décrit y est pour quelque chose), TortoiseGit a cessé d'afficher des superpositions d'icônes dans l'explorateur. Le comportement ne ressemble cependant à aucun des autres qui ont posé des questions ici, car:

Dans le open filedialogue de tous les programmes, les icônes existent toujours (!).

Voici une liste de choses que j'ai essayées:

  1. J'ai changé les paramètres de TortoiseGit pour afficher différentes icônes.
  2. Réinstallez TortoiseGit (désinstallez, redémarrez, installez, redémarrez).
  3. J'ai supprimé toutes les superpositions d'icônes commençant par "Tortoise" dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \ShellIconOverlayIdentifiers, puis désinstallé TortoiseGit, redémarré l'ordinateur et réinstallé TortoiseGit.

Éditer:

J'ai essayé de créer un nouvel utilisateur sur mon ordinateur et le nouvel utilisateur a des superpositions d'icônes fonctionnant très bien. Je suis maintenant encore plus confus.

Rien n'a aidé jusqu'à présent. Des idées?


Avez-vous installé TortoiseSVN?
mozgow

@mozgow Non, seulement TortoiseGit
5xum

5
Il m'est arrivé la même chose. Le mien est arrivé parce que j'ai installé "Dropbox" sur ma machine. Dropbox utilise également IconOverlays, et ils se classent plus haut dans la liste que TortoiseGit. Et comme vous ne pouvez en avoir que 15, vous ne les voyez peut-être pas pour cette raison. Les miens commencent dans la liste du 19 au 28, d'où ma raison de ne pas les voir. Utilisez la suggestion de Dzhuang ci-dessous pour voir où vos superpositions se classent dans la liste.
Chad


@MrTux Je serais curieux de savoir comment vous considérez une question posée le 6 août 2014 comme un double d'une question posée le 11 janvier 2017 (soit plus de 2 ans plus tard ).
5xum

Réponses:


130

J'ai eu le même problème et je l'ai fait fonctionner en suivant les instructions d'un forum. Ce que j'ai fait est ceci (copié):

Je trouve la solution :) Emballage avec ""toutes les clés de tortue sous HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

sur 1TortoiseNormalet etc ... j'ai compris le problème, vu que Dropbox et que cela fonctionnait regedit il y avait le signe ( "") vers Dropbox mais pas la tortue. J'ai donc ajouté les signes, fermez explorer.exe et hop c'était bon :)

Donc ce que j'ai fait a été de renommer la clé 1TortoiseNormalen "1TortoiseNormal"etc. Je ne sais pas pourquoi l'envelopper dans un guillemet double le fait fonctionner à nouveau.

Le forum d'origine a disparu, mais un bon résumé est fourni dans les commentaires.


33
C'est probablement une question de tri. Le caractère entre guillemets est l'un des premiers caractères imprimables, donc "DropboxExt1" vient avant 1TortoiseNormal, mais "1TortoiseNormal" vient avant "DropboxExt1". J'ai également essayé de supprimer le guillemet double des clés de Dropbox et cela a fonctionné.
user34814

5
J'ai appris quelque chose des entrées Skype. Au lieu de l'enrouler autour de "" (guillemets doubles), ajoutez simplement un espace au début des entrées. Donc les entrées seraient <space-char> 1TortoiseNormal et etc ... C'est finalement une question de tri :) semble-t-il.
Pratham le

5
J'ai également eu le même problème après l'installation de Dropbox. J'ai trouvé la raison / la solution de contournement dans ce blog claire, mais après avoir renommé les clés de la tortue, elles ne semblaient pas avoir recours au haut de la liste .. Il m'a fallu un peu de temps pour réaliser que les clés de la boîte de dépôt avaient un espace à l'avant .. alors j'ai renommé les tortues en <space> 1TortoiseNormal, etc. BLOG: blog.garethjmsaunders.co.uk/2015/03/22/…
user1420372

10
@CodyStott Il s'avère que MS fait maintenant la même chose ... Les icônes OneDrive commencent également par un espace ... Dans 10 ans, après que toutes les entreprises aient compris cette astuce, tous les noms de clés commenceront par des dizaines d'espaces ...: p
Stijn de Witt

30
MISE À JOUR: Dropbox ajoute maintenant 3 espaces à l'avant ... MS s'il vous plaît prendre note (eh bien vous l'avez déjà fait car OneDrive utilise cette astuce) et agissez . C'est complètement nul. Et quoi de neuf avec ce maximum d'icônes 11/15? C'est 2017?!? Je n'ai pas besoin d'une nouvelle refonte de l'interface utilisateur ... J'ai besoin de trucs comme celui-ci pour être corrigés en moins de 2 décennies!
Stijn de Witt

102

Windows n'autorisera que 11 identificateurs de superposition d'icônes, classés par ordre alphanumérique - s'il y en a plus de 11, ces icônes ne seront pas affichées.

Vous pouvez exécuter la commande suivante dans une invite DOS:

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

Ouvrez ensuite le fichier C:\icons.txt. Ignorez les deux premières lignes, et si 1TortoiseNormalet les autres *Tortoise*valeurs ne sont pas dans les 11 premières valeurs, leurs superpositions d'icônes ne seront pas affichées. La solution fournie par @Chi Chan est juste un moyen simple d'augmenter le 1TortoiseNormalrang lorsqu'il est ordonné parmi toutes les superpositions, vous pouvez également renommer les valeurs en ajoutant un ou plusieurs espaces avant 1TortoiseNormal, c'est-à-dire,

" 1TortoiseNormal"

pour les rendre plus élevés.

mise à jour: pour Windows 8, la limite des superpositions d'icônes est de 15.


35
LOL. Donc, je viens de passer à Windows 10 et mes icônes TortoiseGit étaient manquantes, j'ai donc cherché et trouvé ce fil ... Il s'avère que Microsoft a probablement également lu ce fil car les icônes OneDrive commencent par un espace par défaut !! Quelle idiote de la part de Microsoft qu'ils auraient recours à cela ... au lieu de simplement créer un écran qui nous permet de configurer l'ordre / la priorité des annotations d'icônes à partir des paramètres Windows.
Stijn de Witt

20
@StijndeWitt GoogleDrive et TortoiseSVN / Git semblent maintenant avoir augmenté la mise et ajouté 2 espaces. Nous sommes officiellement dans une course spatiale maintenant ...
icc97

15
@ icc97 LOL @ 'course à l'espace'. Mais DropBox a une longueur d'avance sur ces amateurs ... ils ajoutent 3 espaces: [....\ DropboxExt01](modifier: SO les réduit en 1 il semble ...)
Stijn de Witt

8
REMARQUE!! Redémarrez l'Explorateur Windows pour que les icônes s'affichent. Appuyez sur Ctrl + Maj + Échap et redémarrez «Windows Explorer» (éventuellement redémarrer l'ordinateur)
PhillipPDX

7
Je viens de commenter ci-dessus aussi, mais je voulais ajouter ici que tous les grands fournisseurs de cloud (onedrive, dropbox, google drive) lisent maintenant DYNAMIQUEMENT la liste et vont ADAPTER AUTOMATIQUEMENT et tleading espaces pour "gagner" la guerre .... jusqu'au prochain met à jour et fait de même. Les miens ont maintenant littéralement tous au moins CINQ espaces principaux !! En outre, c'est 15 de Vista et plus tard.
Collin Chaffin

40

Étapes de la solution Windows 10;

  1. Ouvrir regedit

Chemin :

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

  1. Supprimez / supprimez toutes les clés SkyDrive / OneDrive. Vous devrez peut-être prendre possession des clés une par une et donner à votre utilisateur un contrôle total si vous recevez une erreur lors de la tentative de suppression des clés.

  2. Appuyez sur Ctrl + Maj + Echap et redémarrez «Windows Explorer» (éventuellement redémarrer l'ordinateur)

  3. Toutes les icônes de superposition git / svn sont maintenant visibles!


Cela fonctionne pour moi. Il semble qu'il y ait une limite au nombre de superpositions d'icônes autorisées sur l'explorateur Windows.
Yodacheese

6
Pour une raison quelconque, je n'ai pas pu supprimer les clés OneDrive. Je viens d'ajouter trois espaces au début des clés Tortoise, redémarré et cela a fonctionné à nouveau.
NickH

1
OneDrive remet les clés la prochaine fois que vous vous reconnectez.
Mike Lowery du

2
Au lieu de supprimer les clés existantes, vous pouvez simplement ajouter deux (ou plus) espaces devant toutes les clés Tortoise . Aura le même effet - et vous permettra de rejoindre la course à l'espace!
Corpus Gigantus

28

Avant de devenir fou, essayez de redémarrer! Cela a fonctionné pour moi;)


8
Honnêtement, pensez-vous vraiment que je n'ai pas essayé ça? En fait, j'ai écrit que j'ai redémarré mon ordinateur à l'étape 2.
5xum

14
Le vote défavorable est injustifié. Ma réponse a été au bénéfice des autres qui sont venus sur cette page comme moi, lorsque j'ai rencontré le problème. J'ai dû perdre une demi-heure à essayer de comprendre quel était le problème, avant de redémarrer mon PC. Je comprends que cela n'a pas fonctionné pour vous, mais cela pourrait fonctionner pour d'autres.
Jan Hettich

3
Cela a fonctionné pour moi ... Cela vaut vraiment la peine d'être dans la liste de contrôle comme première étape avant d'essayer des solutions plus complexes.
Tony O'Hagan

4
Cela m'a aussi aidé. Je savais que les superpositions d'icônes étaient liées au explorerprocessus, et avec TortoiseSVN, il était possible de simplement tuer et redémarrer le explorerprocessus (pas la fenêtre active, mais la principale) pour éviter de redémarrer. J'ai fait la même chose pour TortoiseGit, mais ce n'était pas suffisant. Un redémarrage a aidé.
Slav

1
J'ai lu toutes les réponses, y compris celle-ci, puis j'ai opté pour le redémarrage de l'Explorateur Windows (j'ai utilisé l'approche Ctrl + Shift + Asc-then-restart-process mentionnée dans la réponse de @ replicantspy ). Cela a fonctionné pour moi! Donc, le +1 pour cette réponse est assez juste. :) Tks!
Luiz Vieira

16

Ajoutez simplement un espace (ou plus si nécessaire) aux options First Name of Tortoise de cette addersses regedit:

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

par exemple:

"1TortoiseNormal"

Devrait devenir:

" 1TortoiseNormal"

après une rebooticône du système s'affiche actuellement.


4

J'avais installé TortoiseSVN (1.9.5) et msysgit (2.11.0) en premier sur ma machine Windows 10 64 bits. Les icônes TortoiseSVN s'affichent correctement.

Lorsque j'ai installé TortoiseGit (2.3.0.0) après ces deux, les icônes ne s'afficheraient pas.

J'ai vérifié HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifierset tout avait l'air bien. Les icônes de la tortue étaient dans le top 10.

Ce que j'avais l'habitude de corriger a été soulevé dans le problème TortoiseGit n ° 692 sur GitLab :

  • Ouvert regedit.exe
    • Aller à HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer
    • Ajoutez une nouvelle valeur de chaîne "Max Cached Icons" avec la valeur "2000"

Explorateur fermé / redémarré et affichage des icônes!


1
J'ai trouvé que c'était la solution la plus simple, la plus rapide et la meilleure pour moi (Windows 10).
timbo

3

J'ai eu ce même problème aujourd'hui après avoir désinstallé TortoiseSVN. J'ai redémarré et toujours pas de chance alors je suis juste allé dans le panneau de configuration, désinstaller un programme et sur l'élément TortoiseGit j'ai choisi «Réparer» et tout est revenu à la normale. Je soupçonne que toutes les applications de la gamme Tortoise ont des clés de registre partagées ou quelque chose du genre.


3

J'ai aussi vu mes icônes de shell TortoiseGIT cesser de s'afficher soudainement, je ne me souviens pas exactement de ce qui y a conduit, mais j'ai trouvé cela et j'ai essayé le truc du registre en changeant 1TortioiseNormal en "1TortioiseNormal" et ainsi de suite. C'est probablement une bonne chose à faire quoi qu'il arrive, mais les superpositions d'icônes ne fonctionnaient toujours pas.

Je suis trop occupé pour la réponse générale de "redémarrer l'ordinateur", ce que cela me dit est "un processus de service doit être redémarré mais vous ne pourrez jamais le trouver, alors redémarrez-le." Non.

J'utilise également TortoiseSVN et ces superpositions d'icônes fonctionnaient toujours pour moi. J'ai regardé dans mon onglet de processus du gestionnaire de tâches et j'ai vu que j'avais quelque chose appelé TSVNCache.exe en cours d'exécution. Aucun signe de quelque chose de similaire pour git, donc sur un coup de tête je suis allé dans l'onglet Applications et j'ai appuyé sur "Nouvelle tâche", j'ai entré TGITCache.exe et bien sûr que le processus s'est déclenché. De là, revenez aux processus, supprimez explorer.exe, puis revenez aux applications -> Nouvelle tâche à nouveau et lancez explorer.exe.

Cela a fonctionné pour moi deux fois maintenant lorsque mes superpositions d'icônes TortoiseGIT se sont arrêtées, alors peut-être que cela fonctionnera pour quelqu'un d'autre.


2

Ce qui a fonctionné pour moi, c'est de désinstaller Google Drive de mon ordinateur. Je ne sais pas encore pourquoi.


Voir mes commentaires ci-dessus. Il existe une limite codée en dur de 15 superpositions et Google Drive en utilise plusieurs, tout comme Onedrive, Dropbox et autres. Torroise est l'un des pires en utilisant comme 10 tout seul, ne laissant presque rien pour autre chose. En supprimant Google Drive, vous avez simplement supprimé ses clés de registre de superposition, laissant suffisamment de "libres" sur les 15 pour enfin voir les icônes Tortoise.
Collin Chaffin

2

Je suis d'accord avec Chi Chan et je voudrais ajouter ceci comme réponse complémentaire.

Ce sont les icônes de Dropbox Explorer. Voici un script de registre pour les supprimer. Sauvegardez-le quelque part, car ils reviendront!

Notez que les valeurs changent également de temps en temps. Actuellement, ils ont 3 espaces avant le "DropboxExtXX", avant d'en avoir un seul.

Supprimer 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

Le problème avec les espaces de tête est que chaque fois que vous redémarrez, Dropbox ajoute un autre espace à ses registres et aura toujours une longueur d'avance sur vous.

J'ai donc programmé un script python trouvé sur cet article (par Christoph Zwerschke) pour qu'il s'exécute à chaque démarrage de l'ordinateur. Vous devez également redémarrer l'explorateur après cela.

Le .bat ressemblera à:

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

Et le 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

Ce qui fonctionne pour moi pour Windows 10 est

  1. désinstallation de TortoiseGit
  2. nettoyage des dossiers et registre
  3. l'installer à nouveau
  4. redémarrage de l'ordinateur
  5. faire un commit aléatoire même sans voir l'icône rouge
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.