TortoiseGit nie wyświetla nakładek ikon

142

Używam już TortoiseGitprawie cały rok. U mnie działało bardzo dobrze do wczoraj, kiedy napotkałem problem. Kasowałem folder, gdy Eksplorator Windows trochę się na mnie zawiesił (zawiesił się na „wykrywaniu elementów”) przez ponad godzinę, po czym ponownie uruchomiłem system.

Od tamtego czasu (a ja nie jestem pewien, czy ten incydent opisany ma nic wspólnego z nim), TortoiseGit przestał pokazując ikonę nakładki w Eksploratorze. Jednak zachowanie nie jest podobne do innych osób, które opublikowały tutaj pytania, ponieważ:

W open filedialogu wszystkich programów ikony nadal istnieją (!).

Oto lista rzeczy, które wypróbowałem:

  1. Zmieniłem ustawienia TortoiseGit, aby wyświetlać inne ikony.
  2. Zainstaluj ponownie TortoiseGit (odinstaluj, uruchom ponownie, zainstaluj, uruchom ponownie).
  3. Usunąłem wszystkie nakładki ikon zaczynające się od „Tortoise” w HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \ShellIconOverlayIdentifiers, następnie odinstalowałem TortoiseGit, zrestartowałem komputer i ponownie zainstalowałem TortoiseGit.

Edytować:

Próbowałem utworzyć nowego użytkownika na moim komputerze, a nowy użytkownik ma nakładki ikon działające dobrze. Jestem teraz jeszcze bardziej zdezorientowany.

Jak dotąd nic nie pomogło. Jakieś pomysły?

5xum
źródło
Czy masz zainstalowany TortoiseSVN?
mozgow
@mozgow Nie, tylko TortoiseGit
5xum
5
To samo przytrafiło się mnie. Mój wydarzył się, ponieważ zainstalowałem „Dropbox” na moim komputerze. Dropbox również używa IconOverlays i zajmują wyższe pozycje na liście niż TortoiseGit. A ponieważ możesz mieć tylko 15, możesz ich nie widzieć z tego powodu. Mój początek na liście 19-28, stąd mój powód, żeby ich nie widzieć. Skorzystaj z poniższej sugestii Dzhuanga, aby zobaczyć, gdzie na liście znajdują się Twoje nakładki.
Czad
@MrTux Byłbym ciekawy, jak uważasz pytanie zadane 6 sierpnia 2014 r. Jako duplikat pytania zadanego 11 stycznia 2017 r. (Tj. Ponad 2 lata później ).
5xum

Odpowiedzi:

135

Miałem ten sam problem i uruchomiłem go, postępując zgodnie z instrukcjami z forum. To, co zrobiłem, to (skopiowane):

Znajduję rozwiązanie :) Zawijanie pod ""wszystkimi kluczami żółwia HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers

dalej 1TortoiseNormali itd ... Zrozumiałem problem, widząc, że Dropbox i zadziałało, regedit był znak ( "") do Dropbox, ale nie żółw. Dodałem więc znaki, zamknąłem explorer.exe i wskoczyłem było dobrze :)

Więc zmieniłem nazwę klucza 1TortoiseNormalna"1TortoiseNormal" itd. Nie mam pojęcia, dlaczego zawijanie go w podwójny cudzysłów sprawia, że ​​znowu działa.

Oryginalne forum zniknęło, ale dobre podsumowanie znajduje się w komentarzach.

Chi Chan
źródło
34
To prawdopodobnie kwestia sortowania. Znak podwójnego cudzysłowu jest jednym z pierwszych znaków drukowalnych, więc „DropboxExt1” występuje przed 1TortoiseNormal, ale „1TortoiseNormal” występuje przed „DropboxExt1”. Próbowałem też usunąć podwójny cudzysłów z kluczy Dropbox i zadziałało.
user34814
5
Nauczyłem się czegoś z wpisów Skype. Zamiast zawijać go wokół "" (podwójne cudzysłowy), po prostu dodaj spację na początku pozycji. Tak więc wpisy wyglądałyby następująco: <space-char> 1TortoiseNormal i itd. W końcu to kwestia sortowania :).
Pratham
5
Miałem też ten sam problem po zainstalowaniu Dropbox. Znalazłem powód / obejście na tym blogu, ale po zmianie nazwy kluczy żółwia nie wydawało się, że uciekają się do początku listy. Zajęło mi trochę czasu, zanim zdałem sobie sprawę, że klawisze skrzynki domyślnej mają spację z przodu .. więc zmieniłem nazwy tych żółwi na <space> 1TortoiseNormal, itp. BLOG: blog.garethjmsaunders.co.uk/2015/03/22/…
user1420372
10
@CodyStott Okazuje się, że MS robi teraz to samo ... Ikony OneDrive również zaczynają się od spacji ... Za 10 lat po tym, jak wszystkie firmy wymyślą tę sztuczkę, wszystkie nazwy kluczy będą zaczynać się od dziesiątek spacji ...: p
Stijn de Witt,
31
AKTUALIZACJA: Dropbox dodaje teraz również 3 spacje z przodu ... MS proszę wziąć pod uwagę (cóż, już to zrobiłeś, ponieważ OneDrive używa tej sztuczki) i podejmij działania . To kompletnie do bani. A w ogóle o co chodzi z tą ikoną 11/15 maksymalnie? Jest 2017?!? Nie potrzebuję kolejnego przeglądu interfejsu użytkownika ... Potrzebuję takich rzeczy, aby naprawić je w mniej niż dwie dekady!
Stijn de Witt,
105

Windows zezwoli tylko na 11 identyfikatorów nakładek ikon, ułożonych w kolejności alfanumerycznej - jeśli jest ich więcej niż 11, ikony te nie będą wyświetlane.

Możesz uruchomić następujące polecenie w wierszu poleceń DOS:

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

Następnie otwórz plik C:\icons.txt. Pomiń pierwsze dwa wiersze, a jeśli 1TortoiseNormali inne *Tortoise*wartości nie znajdują się w pierwszych 11 wartościach, ich nakładki ikon nie będą wyświetlane. Rozwiązanie dostarczone przez @Chi Chan to po prostu prosty sposób na podniesienie 1TortoiseNormalrangi, gdy jest uporządkowany wśród wszystkich nakładek, możesz również zmienić nazwy wartości, dodając spacje przed 1TortoiseNormal, tj.

" 1TortoiseNormal"

aby podnieść ich rangę.

aktualizacja: w systemie Windows 8 limit nakładek ikon wynosi 15.

Dzhuang
źródło
36
LOL. Właśnie zaktualizowałem do Windows 10 i brakowało moich ikon TortoiseGit, więc szukałem i znalazłem ten wątek ... Okazuje się, że Microsoft prawdopodobnie również przeczytał ten wątek, ponieważ ikony OneDrive domyślnie zaczynają się spacją !! Jakie to głupie z Microsoftu, że uciekliby się do tego ... zamiast po prostu budować ekran, który pozwala nam skonfigurować kolejność / priorytet adnotacji ikon z poziomu ustawień systemu Windows.
Stijn de Witt
23
Wydaje się, że @StijndeWitt GoogleDrive i TortoiseSVN / Git podniosły stawkę i dodały 2 spacje. Jesteśmy teraz oficjalnie w wyścigu kosmicznym ...
icc97
15
@ icc97 LOL @ 'space race'. Ale Dropbox jest krok przed tymi amatorów ... dodają 3 przestrzenie: [....\ DropboxExt01](edit: SO zwija je w 1 wydaje ...)
Stijn de Witt
8
UWAGA!! Uruchom ponownie Eksploratora Windows, aby pojawiły się ikony. Naciśnij Ctrl + Shift + Esc i uruchom ponownie „Eksploratora Windows” (opcjonalnie uruchom ponownie komputer)
PhillipPDX
7
Właśnie skomentowałem powyżej, ale chciałem tutaj dodać, że wszyscy wielcy dostawcy usług w chmurze (onedrive, dropbox, dysk google) teraz DYNAMICZNIE przeczytają listę i AUTOMATYCZNIE DOSTOSUJĄ SIĘ i wykonają spacje, aby "wygrać" wojnę .... aż do następnej aktualizuje i robi to samo. Mój ma teraz dosłownie wszystkie co najmniej PIĘĆ wiodących spacji !! Ponadto jest to 15 z Vista i nowszych.
Collin Chaffin
41

Kroki rozwiązania systemu Windows 10;

  1. Otwórz regedit

Ścieżka:

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

  1. Usuń / usuń wszystkie klucze SkyDrive / OneDrive. Może być konieczne przejęcie kluczy na własność jeden po drugim i przekazanie użytkownikowi pełnej kontroli, jeśli wystąpi błąd podczas próby usunięcia kluczy.

  2. Naciśnij Ctrl + Shift + Esc i uruchom ponownie „Eksploratora Windows” (opcjonalnie uruchom ponownie komputer)

  3. Wszystkie ikony nakładek git / svn są teraz widoczne!

replicantspy
źródło
To działa dla mnie. Wygląda na to, że liczba nakładek ikon dozwolonych w Eksploratorze Windows jest ograniczona.
Yodacheese
6
Z jakiegoś powodu nie mogłem usunąć kluczy OneDrive. Właśnie dodałem trzy spacje na początku klawiszy Tortoise, zrestartowałem i znowu zadziałało.
NickH
1
OneDrive odkłada klucze przy następnym logowaniu.
Mike Lowery,
2
Zamiast usuwać istniejące klucze, możesz po prostu dodać dwie (lub więcej) spacje przed wszystkimi kluczami żółwia . Będzie miał ten sam efekt - i pozwoli Ci dołączyć do wyścigu kosmicznego!
Corpus Gigantus,
31

Zanim oszalejesz, po prostu spróbuj ponownie uruchomić komputer! U mnie zadziałało;)

Jan Hettich
źródło
9
Naprawdę myślisz, że tego nie próbowałem? W rzeczywistości napisałem, że ponownie uruchomiłem komputer w kroku 2.
5xum
16
Głos przeciw jest nieuzasadniony. Moja odpowiedź była dobra dla innych, którzy przyszli na tę stronę, tak jak ja, kiedy napotkałem problem. Musiałem stracić pół godziny, próbując ustalić, na czym polega problem, przed ponownym uruchomieniem komputera. Doceniam, że to nie zadziałało dla ciebie, ale może zadziałać dla innych.
Jan Hettich
4
Udało mi się ... Zdecydowanie warto znaleźć się na liście kontrolnej jako pierwszy krok przed wypróbowaniem bardziej złożonych rozwiązań.
Tony O'Hagan,
5
To też mi pomogło. Wiedziałem, że nakładki ikon były powiązane z explorerprzetwarzaniem, a dzięki TortoiseSVN można było po prostu zabić i ponownie uruchomić explorerproces (nie aktywne okno, ale główne), aby uniknąć ponownego uruchomienia. Zrobiłem to samo dla TortoiseGit, ale to nie wystarczyło. Pomógł restart.
Slav
2
Przeczytałem wszystkie odpowiedzi, w tym tę, a następnie zdecydowałem się na ponowne uruchomienie Eksploratora Windows (użyłem metody Ctrl + Shift + Asc-then-restart-process, o której mowa w odpowiedzi @ replicantspy ). U mnie zadziałało! Tak więc +1 dla tej odpowiedzi jest całkiem uczciwy. :) Tks!
Luiz Vieira
17

Po prostu dodaj jedną spację (lub więcej, jeśli to konieczne) do pierwszej opcji Nazwa żółwia do tych dodatków regedit:

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

na przykład:

"1TortoiseNormal"

Powinien zmienić się na:

" 1TortoiseNormal"

po rebootpoprawnym wyświetleniu ikon systemowych.

Amir Hossein Ghasemi
źródło
6

Najpierw zainstalowałem TortoiseSVN (1.9.5) i msysgit (2.11.0) na moim 64-bitowym komputerze z systemem Windows 10. Ikony TortoiseSVN wyświetlane dobrze.

Kiedy zainstalowałem TortoiseGit (2.3.0.0) po tych dwóch, ikony nie były wyświetlane.

sprawdziłem HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers i wszystko wyglądało dobrze. Ikony żółwia znalazły się w pierwszej dziesiątce.

To, co naprawiłem, zostało zgłoszone w numerze 692 TortoiseGit na GitLab :

  • otwarty regedit.exe
    • Iść do HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer
    • Dodaj nową wartość ciągu „Maksymalna liczba ikon w pamięci podręcznej” o wartości „2000”

zamknięty / ponownie uruchomiony eksplorator i wyświetlają się ikony!

icc97
źródło
1
Okazało się, że jest to dla mnie najłatwiejsze, najszybsze i najlepsze rozwiązanie (Windows 10).
timbo
To też zadziałało dla mnie. Dodałem 5 spacji do wszystkich wpisów Tortoise w rejestrze, a następnie ponownie uruchomiłem Eksploratora, ale nie działało, dopóki nie wypróbowałem również tej odpowiedzi.
Geordie
3

Miałem ten sam problem dzisiaj po odinstalowaniu TortoiseSVN. Ponownie uruchomiłem komputer i nadal nie mam szczęścia, więc po prostu przeszedłem do Panelu sterowania, Odinstaluj program i na pozycji TortoiseGit wybrałem „Napraw” i wszystko wróciło do normy. Podejrzewam, że wszystkie aplikacje z linii Tortoise mają jakieś wspólne klucze rejestru lub coś w tym rodzaju.

Richard Edwards
źródło
3

Również moje ikony powłoki TortoiseGIT nagle przestały się wyświetlać, nie pamiętam dokładnie, co do tego doprowadziło, ale znalazłem to i spróbowałem zmienić zawartość rejestru, zmieniając 1TortioiseNormal na „1TortioiseNormal” i tak dalej. To chyba dobrze zrobić bez względu na wszystko, ale nakładki ikon nadal nie działały.

Jestem zbyt zajęty na ogólną odpowiedź „zrestartuj komputer”, co oznacza, że ​​„należy ponownie uruchomić jakiś proces serwisowy, ale nigdy nie będziesz w stanie go znaleźć, więc po prostu uruchom ponownie”. Nie.

Używam również TortoiseSVN i te nakładki ikon nadal działały dla mnie. Zajrzałem do karty procesów w menedżerze zadań i zobaczyłem, że działa coś o nazwie TSVNCache.exe. Brak śladu czegoś podobnego dla git, więc dla kaprysu przeszedłem do zakładki aplikacji i wcisnąłem "Nowe zadanie", wszedłem do TGITCache.exe i upewniłem się, że proces się uruchomił. Stamtąd wróć do procesów, zabij explorer.exe, a następnie wróć do aplikacji -> ponownie Nowe zadanie i uruchom explorer.exe.

Udało mi się to teraz dwukrotnie, kiedy moje nakładki ikon TortoiseGIT przestały działać, więc może zadziała dla kogoś innego.

arudlang
źródło
2

Pomogło mi odinstalowanie Dysku Google z mojego komputera. Jeszcze nie wiem, dlaczego.

Darien Pardinas
źródło
Zobacz moje komentarze powyżej. Istnieje zakodowany limit 15 nakładek, a Dysk Google używa kilku, podobnie jak Onedrive, Dropbox i inne. Torroise jest jednym z najgorszych, używających takich samych jak 10, nie pozostawiając prawie nic na nic innego. Usuwając Dysk Google, po prostu usunąłeś jego klawisze reg overlay, pozostawiając wystarczająco dużo "wolnych" z 15, aby w końcu zobaczyć ikony Tortoise.
Collin Chaffin
2

Zgadzam się z Chi Chan i chciałbym to dodać jako odpowiedź uzupełniającą.

To ikony Dropbox Explorer. Oto skrypt rejestru umożliwiający ich usunięcie. Zapisz to gdzieś, bo wrócą!

Zwróć uwagę, że wartości również zmieniają się od czasu do czasu. Obecnie mają 3 spacje przed „DropboxExtXX”, zanim miały tylko jedną.

Usuń 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
źródło
1

Problem z wiodącymi spacjami polega na tym, że przy każdym ponownym uruchomieniu Dropbox dodaje kolejne miejsce do swoich rejestrów i zawsze będzie o krok przed Tobą.

Więc zaplanowałem skrypt Pythona znaleziony w tym poście (autorstwa Christopha Zwerschke), aby był wykonywany przy każdym uruchomieniu komputera. Następnie musisz ponownie uruchomić Eksploratora.

.Bat będzie wyglądać następująco:

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

I skrypt w Pythonie:

#/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
źródło
1

To, co działało dla mnie w systemie Windows 10, to

  1. odinstalowanie TortoiseGit
  2. czyszczenie folderów i rejestracja
  3. instalując go ponownie
  4. ponowne uruchomienie komputera
  5. wykonując losowe zatwierdzenie, nawet nie widząc czerwonej ikony
rzymski
źródło