私は、ほぼ1年間、TortoiseGit
を使用しています。問題が発生した昨日まで、私にとっては非常にうまく機能していました。 Windowsエクスプローラーが1時間以上クラッシュ(「アイテムの検出」でハングアップ)したときにフォルダーを削除してから、システムを再起動しました。
その時から(そして、私はnot記述されたインシデントがそれと何か関係があるかどうかを確信しています)、TortoiseGitはエクスプローラーでのアイコンオーバーレイの表示を停止しました。ただし、この動作は、ここに質問を投稿した他のユーザーとは異なります。
すべてのプログラムの
open file
ダイアログでは、アイコンがまだ存在しています(!)。
ここに私が試したもののリストがあります:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer \ShellIconOverlayIdentifiers
の「Tortoise」で始まるすべてのアイコンオーバーレイを削除してから、TortoiseGitをアンインストールし、コンピューターを再起動して、TortoiseGitを再インストールしました。編集:
コンピューターに新しいユーザーを作成しようとしましたが、新しいユーザーにはアイコンオーバーレイが正常に機能しています。私は今、さらに混乱しています。
今のところ何も役に立たない。何か案は?
私は同じ問題を抱えていたので、フォーラムからの指示に従って動作するようになりました。私がしたことはこれでした(コピーされました):
私は解決策を見つけます:)
""
ですべてのカメのキーをHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
でラップ
1TortoiseNormal
などで...私はDropboxを見て、問題を理解しました。それはregeditで動作し、Dropboxへのサイン(""
)がありましたが、カメではありませんでした。だから私は標識を追加し、Explorer.exeを閉じて、それが良かったと思っています:)
それで、キーの名前を1TortioiseNormal
から"1TortioiseNormal"
などに変更しました。二重引用符で囲むと、再び機能するようになる理由がわかりません。
元のフォーラムはなくなりましたが、コメントで 概要 が提供されています。
Windowsでは、最大11個のアイコンオーバーレイ識別子のみが許可され、英数字順に並べられます。11個を超える場合、これらのアイコンは表示されません。
DOSプロンプトで次のコマンドを実行できます。
regedit /e c:\icons.txt HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
次に、ファイルC:\icons.txt
を開きます。最初の2行をスキップし、1TortoiseNormal
と他の*Tortoise*
の値が上位11の値にない場合、アイコンオーバーレイは表示されません。 @ Chi Chan によって提供されるソリューションは、すべてのオーバーレイ間で順序付けられたときに1TortoiseNormal
ランクを高くする簡単な方法です。また、1TortoiseNormal
の前にスペースを追加して値の名前を変更することもできます。
" 1TortoiseNormal"
ランクを上げるために。
update:Windows 8の場合、アイコンオーバーレイの制限は15です。
Windows 10ソリューションの手順;
パス:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
すべてのSkyDrive/OneDriveキーを削除/削除します。キーを削除しようとしてエラーが発生した場合は、キーの所有権を1つずつ取得し、ユーザーにフルコントロールを与える必要があります。
Ctrl + Shift + Escを押して「Windows Explorer」を再起動します(オプションでコンピューターを再起動します)
すべてのgit/svnオーバーレイアイコンが表示されるようになりました!
気を付ける前に、再起動してみてください!それは私のために働いた;)
このregedit adderssesの最初のName of Tortoiseオプションに1つのスペース(または必要に応じてそれ以上)を追加するだけです。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
例えば:
"1TortoiseNormal"
変更する必要があります:
" 1TortoiseNormal"
システムreboot
アイコンが正しく表示された後。
TortoiseSVNをアンインストールした後、今日この同じ問題が発生しました。再起動してもまだ運がなかったのでコントロールパネル、プログラムのアンインストール、TortoiseGitの項目で「修復」を選択しましたになり、すべてが正常に戻りました。 Tortoiseのすべてのアプリには、共有レジストリキーなどが含まれていると思われます。
また、TortoiseGIT Shellアイコンが突然表示されなくなりました。その原因を正確に思い出せませんが、これを見つけて1TortioiseNormalを「1TortioiseNormal」に変更するなどのレジストリを試しました。これは、アイコンオーバーレイがまだ機能していなかったとしても、おそらく良いことです。
「コンピューターを再起動する」という包括的な答えには忙しすぎて、「サービスプロセスの一部を再起動する必要がありますが、見つけることができないので、再起動するだけです」と言っています。いや.
TortoiseSVNも使用していますが、これらのアイコンオーバーレイはまだ機能していました。タスクマネージャーの[プロセス]タブを見ると、TSVNCache.exeと呼ばれるものが実行されていることがわかりました。 gitに似たような兆候がないため、気まぐれに[アプリケーション]タブに移動して[新しいタスク]を押し、TGITCache.exeを入力し、そのプロセスが起動することを確認しました。そこからプロセスに戻り、Explorer.exeを終了してから、アプリケーション->新しいタスクに戻り、Explorer.exeを起動します。
TortoiseGITアイコンオーバーレイが終了したときに、これが2回機能するようになりました。
Windows 10 64ビットマシンにTortoiseSVN(1.9.5)とmsysgit(2.11.0)を最初にインストールしました。 TortoiseSVNアイコンが正常に表示されました。
これら2つの後にTortoiseGit(2.3.0.0)をインストールすると、アイコンが表示されません。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
をチェックしましたが、すべて正常に見えました。亀のアイコンはトップ10にありました。
私が修正に使用したものは GitLabのTortoiseGit issue#692 :
regedit.exe
を開きます。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer
に移動します- 値「2000」の新しい文字列値「Max Cached Icons」を追加します
エクスプローラーを閉じ/再起動し、アイコンが表示されます!
私のために働いたのは、コンピューターからGoogleドライブをアンインストールすることでした。理由はまだわかりません。
私にとってWindows 10で働いているのは
まあ、私は明らかなステップを逃したと思う...
TortoiseGitの設定>アイコンオーバーレイ:
Make sure to add your projects folder to the "Include Paths" box.
私はChi Chanに同意し、これを補足的な回答として追加したいと思います。
Dropbox Explorerアイコンです。これらを削除するレジストリスクリプトを次に示します。彼らが戻ってくるので、どこかに保存してください!
値も時々変化することに注意してください。現在、 "DropboxExtXX"の前に1つだけある前に3つのスペースがあります。
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]
主要なスペースの問題は、再起動するたびにDropboxがレジストリに別のスペースを追加し、常に一歩先を行くことです。
そこで、この post (Christoph Zwerschkeによる)で見つかったpythonスクリプトを、コンピューターが起動するたびに実行するようにスケジュールしました。その後、エクスプローラーを再起動する必要もあります。
.batは次のようになります。
python iconOverlayFixer.py
taskkill /f /im Explorer.exe
start Explorer.exe
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')
ずっと前に、レジストリを編集してアイコンオーバーレイの問題を解決しようとしました:HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
またはHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers
が、OneDriveまたはDropboxが更新されるたびに、レジストリにスペースが追加されます。ただし、問題は解決されました。
TortoiseGit設定>アイコンオーバーレイ>(ステータスキャッシュ)シェル拡張
今のところ、OneDriveとDropboxはShellIconOverlayIdentifiersリストの一番上にありますが、すべてのTortoiseアイコンオーバーレイは正しく表示されます