web-dev-qa-db-fra.com

TortoiseGit ne montrant pas les superpositions d'icônes

J'utilise TortoiseGit depuis 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é (il a été suspendu à "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 pas si l'incident décrit a un rapport avec cela), TortoiseGit a cessé d'afficher les superpositions d'icônes dans Explorer. Le comportement ne ressemble toutefois à aucun des autres qui ont posé des questions ici, car:

Dans la boîte de dialogue open file de tous les programmes, les icônes existent toujours (!).

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

  1. J'ai modifié les paramètres de TortoiseGit pour afficher différentes icônes.
  2. Réinstallez TortoiseGit (désinstallation, redémarrage, installation, redémarrage).
  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 j'ai désinstallé TortoiseGit, redémarré l'ordinateur et réinstallé TortoiseGit.

Edit:

J'ai essayé de créer un nouvel utilisateur sur mon ordinateur et celui-ci a des superpositions d'icônes qui fonctionnent parfaitement. Je suis maintenant encore plus confus.

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

120
5xum

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

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

sur 1TortoiseNormal et etc ... J'ai compris le problème, vu que Dropbox fonctionnait correctement, il y avait un signe ("") indiquant Dropbox mais pas une tortue. J'ai donc ajouté les signes, fermer Explorer.exe et hop, c'était bon :)

Donc, ce que j’ai fait, c’est de renommer la clé 1TortioiseNormal en "1TortioiseNormal", etc.

Le forum original est parti, mais n bon résumé est fourni dans les commentaires.

119
Chi Chan

Windows n'autorise 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 1TortoiseNormal et les autres *Tortoise* valeurs ne figurent pas dans les 11 premières valeurs, leurs superpositions d'icônes ne seront pas affichées. La solution fournie par @ Chi Chan n’est qu’un moyen simple d’améliorer le rang 1TortoiseNormal lorsqu’il est classé parmi toutes les superpositions. Vous pouvez également renommer les valeurs en ajoutant un ou plusieurs espaces avant 1TortoiseNormal, c'est-à-dire

" 1TortoiseNormal"

pour leur donner un rang plus élevé.

update: pour Windows 8, la limite de superpositions d'icônes est de 15.

89
Dzhuang

Étapes de la solution Windows 10;

  1. Ouvrez regedit

Chemin :

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

  1. Supprimer/supprimer toutes les clés SkyDrive/OneDrive. Vous devrez peut-être prendre possession des clés une par une et donner à votre utilisateur le contrôle total si vous recevez une erreur en essayant de supprimer les clés.

  2. Appuyez sur Ctrl + Maj + Échap et redémarrez "Windows Explorer" (redémarrez éventuellement l'ordinateur).

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

35
replicantspy

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

22
Jan Hettich

Ajoutez simplement un espace (ou plus si nécessaire) à la première option du nom de la tortue à cette liste regedit:

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

par exemple:

"1TortoiseNormal"

Devrait changer pour:

" 1TortoiseNormal"

après un système reboot les icônes apparaissent currectly.

13

J'ai eu ce même problème aujourd'hui après la désinstallation de TortoiseSVN. J'ai redémarré et toujours pas de chance alors je suis juste entré dans Panneau de configuration, Désinstaller un programme et sur l'élément TortoiseGit, j'ai choisi 'Réparation' et tout est rentré dans l'ordre. Je soupçonne que toutes les applications de la gamme Tortoise ont des clés de registre partagées ou quelque chose de ce genre.

3
Richard Edwards

J'ai également vu mes icônes TortoiseGIT Shell cesser de s'afficher brusquement. Je ne me souviens pas exactement de ce qui y avait conduit, mais j'ai trouvé ceci et j'ai essayé de modifier le registre en changeant 1TortioiseNormal en "1TortioiseNormal", etc. C'est probablement une bonne chose à faire, 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 qui me dit: "certains processus de service doivent être redémarrés, mais vous ne pourrez jamais le trouver, alors redémarrez". Nah.

J'utilise également TortoiseSVN et ces superpositions d'icônes fonctionnaient toujours pour moi. J'ai consulté l'onglet Processus de mon gestionnaire de tâches et j'ai constaté que quelque chose appelé TSVNCache.exe était en cours d'exécution. Aucun signe de quelque chose de similaire pour git, alors sur un coup de tête, je suis allé sur l'onglet Applications et cliquez sur "Nouvelle tâche", entrez TGITCache.exe et, bien sûr, le processus a démarré. À partir de là, revenez aux processus, tuez 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 ont cessé, alors, cela fonctionnera peut-être pour quelqu'un d'autre.

3
arudlang

J'avais d'abord installé TortoiseSVN (1.9.5) et msysgit (2.11.0) sur mon ordinateur Windows 10 64 bits. Les icônes TortoiseSVN s’affichent bien.

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

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

Ce que j'avais l'habitude de corriger a été soulevé dans numéro de TortoiseGit # 692 sur GitLab :

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

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

3
icc97

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

2
Darien Pardinas

Ce qui a fonctionné pour moi pour Windows 10 est

  1. désinstaller TortoiseGit
  2. dossiers de nettoyage et registre
  3. l'installer à nouveau
  4. redémarrer l'ordinateur
  5. faire commettre au hasard même ne pas voir l'icône rouge
1
Roman

Eh bien, je suppose que j'ai raté l'étape évidente ...

Dans Paramètres TortoiseGit> Superpositions d'icônes:

Make sure to add your projects folder to the "Include Paths" box.

1
sel-en-ium

Je suis d’accord avec Chi Chan et j’aimerais ajouter ceci comme réponse complémentaire.

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

Notez que les valeurs changent de temps en temps aussi. Actuellement, ils ont 3 espaces avant la "DropboxExtXX", avant qu’il n’en ait qu'un.

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
bytecode77

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

J'ai donc programmé un script python trouvé sur ce post (par Christoph Zwerschke) à exécuter à 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
mathiasfk

Il y a longtemps, j'ai essayé de résoudre le problème de superposition d'icônes en modifiant le registre: HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers ou HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers, mais chaque fois que OneDrive ou Dropbox était mis à jour, ils ajoutaient de l'espace à ses registres. Cependant, le problème a été résolu:

Choisissez Paramètres TortoiseGit> Superpositions d’icône> (Cache d’état) Shell Extended enter image description here

Pour l'instant, OneDrive et Dropbox figurent en haut de la liste ShellIconOverlayIdentifiers, mais tous les calques de l'icône Tortoise sont affichés correctement.

1
mr NAE