TortoiseSVN 图标在 Windows 7 下不显示

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/1057734/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-09 06:32:43  来源:igfitidea点击:

TortoiseSVN icons not showing up under Windows 7

windowssvntortoisesvnicons

提问by Lodle

I can't seem to get the icons to display under Windows 7 and I really miss this from Windows XP.

我似乎无法在 Windows 7 下显示图标,我真的很想念 Windows XP。

How can it be fixed?

如何修复?

回答by Kris Erickson

Windows can only show a limited number of Overlay Icons (15 total, 11 after what Windows uses). Programs like Office Groove, Dropbox, Mozy, Carbonite, etc, will hiHyman a bunch of the 11 possible overlay icons (boy would it be nice if Microsoft upped the number of these as the number of applications that use them seem to increase and increase)...

Windows 只能显示有限数量的叠加图标(总共 15 个,在 Windows 使用的之后 11 个)。这样的程序的Office GrooveDropbox的Mozy的无忧等,将劫持了一堆的11个可能的图标覆盖(男孩会是很好,如果微软调升的这些作为使用它们的应用程序数量的数量似乎增加和增加) ...

You can see what overlays are set up, and change them (at your own risk) in the registry here:

您可以在此处查看设置了哪些覆盖,并在注册表中更改它们(风险自担):

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\ShellIconOverlayIdentifiers

If you are using TortoiseCVS(and have nothing else using overlay icons), you will get a couple of TortoiseSVNIcons, and all of your TortoiseCVS icons. This is because the overlay icons are used in alphabetical order. Again, at your own risk (editing the registry may blow up your computer, yada, yada, yada -- and if you are reading Stack Overflow and using Windows and haven't edited the registry, you are a rare beast indeed), feel free to rename them (I suggest putting numbers in front of the ones you want to use and "z_"'s prefixed to the ones you don't need). The TortoiseSVN Shell extensions are nicely named so you know what they do, the TortoiseCVS extensions are not. After looking through the source code, I found the pertinent information:

如果您使用的是TortoiseCVS(并且没有使用其他任何覆盖图标),您将获得几个TortoiseSVN图标,以及您所有的 TortoiseCVS 图标。这是因为覆盖图标是按字母顺序使用的。同样,风险自负(编辑注册表可能会炸毁您的计算机,yada,yada,yada——如果您正在阅读 Stack Overflow 并使用 Windows 并且没有编辑注册表,那么您确实是一个罕见的野兽),感觉可以自由地重命名它们(我建议将数字放在您想要使用的前面,并将“z_”放在不需要的前面)。TortoiseSVN Shell 扩展的命名很好,因此您知道它们的作用,而 TortoiseCVS 扩展则不然。在查看源代码后,我找到了相关信息:

  • TortoiseCVS0- In CVS
  • TortoiseCVS1- Not in CVS
  • TortoiseCVS3- Conflicted
  • TortoiseCVS4- In CVS readonly
  • TortoiseCVS5- Ignored
  • TortoiseCVS6- Added
  • TortoiseCVS7- Deleted
  • TortoiseCVS8- Locked
  • TortoiseCVS0-在 CVS 中
  • TortoiseCVS1-不在 CVS 中
  • TortoiseCVS3-冲突
  • TortoiseCVS4-在 CVS 中只读
  • TortoiseCVS5-忽略
  • TortoiseCVS6-添加
  • TortoiseCVS7-已删除
  • TortoiseCVS8-锁定

回答by Ralph Cowling

Halt ye!

住手!

Before doing anything to your registry or similar procedures listed in Kris Erickson's (excellent) answer or the ones below, there's something to consider...

在对您的注册表或 Kris Erickson 的(优秀)答案或下面列出的类似程序执行任何操作之前,需要考虑一些事项...

Are you on a network drive?

你在网络驱动器上吗?

If so, go to Tortoise SVN settings (right click any folder > TortoiseSVN > Settings), then go to 'Icon Overlays'

如果是这样,请转到 Tortoise SVN 设置(右键单击任何文件夹 > TortoiseSVN > 设置),然后转到“图标叠加”

Make sure you've checked 'Network Drives' as pictured:

确保您已选中“网络驱动器”,如图:

alt text

替代文字

By default on a fresh Tortoise install, network drives don't have the icons added.

默认情况下,在全新 Tortoise 安装中,网络驱动器不会添加图标。

This solved the problem for us. If this fails for you then obviously you can go through the (slightly) more involved solutions listed here.

这为我们解决了问题。如果这对您来说失败了,那么显然您可以通过此处列出的(稍微)更复杂的解决方案。

回答by JohanKirsh

Also restarting your PC is not needed. Instead restart explorer.exe:

也不需要重新启动您的 PC。而是重新启动 explorer.exe:

  1. Press Ctrl+Shift+Esc.
  2. Click the Processestab.
  3. Right-click on explorer.exe.
  4. Select End Process.
  5. Click End Processbutton.
  6. Click the Applicationstab.
  7. Right-click.
  8. Click New Task (Run).
  9. Set Opento: explorer
  10. Click OK.
  1. Ctrl+Shift+Esc
  2. 单击进程选项卡。
  3. 右键单击explorer.exe
  4. 选择结束进程
  5. 单击结束进程按钮。
  6. 单击应用程序选项卡。
  7. 右键点击。
  8. 单击新建任务(运行)
  9. 设置打开为:explorer
  10. 单击“确定”

Windows Explorer has restarted and the TortoiseSVN icons reappear.

Windows 资源管理器已重新启动并且 TortoiseSVN 图标重新出现。

回答by spoulson

I, too, lost my overlays after upgrading to 1.6.8 on Windows 7 x64. I only installed the x64 version and not the 32-bit version. To fix, I ran a repair with the original installer and rebooted. The overlays displayed normally thereafter.

在 Windows 7 x64 上升级到 1.6.8 后,我也丢失了叠加层。我只安装了 x64 版本而不是 32 位版本。为了修复,我使用原始安装程序进行了修复并重新启动。此后叠加显示正常。

回答by Uwe Keim

I resolved itby using Autoruns from Sysinternals.

我通过使用 Sysinternals 的 Autoruns解决了这个问题

  1. Run Autoruns
  2. In the 'Explorer' tab, scroll down to the 'OverlayIconIdentifier' and 'ShellOverlayIconIdentifier' entries
  3. Un-tick unwanted overlays (such as most of any Dropbox, SkyDrive etc.)
  4. Restart Explorer.exe
  1. 运行自动运行
  2. 在“资源管理器”选项卡中,向下滚动到“OverlayIconIdentifier”和“ShellOverlayIconIdentifier”条目
  3. 取消勾选不需要的覆盖(例如大多数 Dropbox、SkyDrive 等)
  4. 重启资源管理器.exe

Autoruns screenshot showing Overlay Icons entries

显示覆盖图标条目的自动运行屏幕截图

回答by Giscard Biamby

I had the same issue as the OP: Win 7 (x64), TortoiseSVN (x64), and DropBox (x86). The info from some of the other answers gave me all the info. I've only ever had the x64 version of TSVN installed on this machine.

我遇到了与 OP 相同的问题:Win 7 (x64)、TortoiseSVN (x64) 和 DropBox (x86)。来自其他一些答案的信息给了我所有的信息。我只在这台机器上安装了 x64 版本的 TSVN。

In my case TSVN and DropBox were installed the same day I did the OS install and the overlays worked fine until a couple of days ago. I did nothing involving changing settings for either app to cause them to stop working.

在我的情况下,TSVN 和 DropBox 是在我安装操作系统的同一天安装的,直到几天前,覆盖层都运行良好。我没有做任何涉及更改任一应用程序设置以导致它们停止工作的事情。

Here is what I had in the icon overlay registry section after the problem started (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\ShellIconOverlayIdentifiers):

这是问题开始后我在图标覆盖注册表部分中的内容 ( HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\explorer\ShellIconOverlayIdentifiers):

  1. DropboxExt1
  2. DropboxExt2
  3. DropboxExt3
  4. EnhancedStorageShell
  5. Offline Files
  6. SharingPrivate
  7. TortoiseAdded
  8. TortoiseConflict
  9. TortoiseDeleted
  10. TortoiseIgnored
  11. TortoiseLocked
  12. TortoiseModified
  13. TortoiseNormal
  14. TortoiseReadOnly
  15. TortoiseUnversioned
  1. DropboxExt1
  2. DropboxExt2
  3. DropboxExt3
  4. 增强型存储壳
  5. 离线文件
  6. 分享私人
  7. 乌龟添加
  8. 乌龟冲突
  9. 乌龟已删除
  10. 乌龟忽略
  11. 龟锁
  12. 乌龟修改版
  13. 乌龟普通
  14. 乌龟只读
  15. TortoiseUnversioned

I verified that only the overlays corresponding to the first 11 entries display in Explorer. When I modified the order of above entries by adding 'z' to the start of some of them, again only the first 11 overlays (under the updated order) would display.

我验证了资源管理器中仅显示与前 11 个条目对应的叠加层。当我通过在其中一些条目的开头添加 'z' 来修改上述条目的顺序时,同样只会显示前 11 个叠加层(在更新的顺序下)。

With the above I had everything I needed to solve the problem (either rename or or delete entries so that the TSVN entries I want working are <= #11 on the list). Below deals with wondering why this suddenly happened.

有了上面的内容,我有了解决问题所需的一切(重命名或删除条目,以便我想要工作的 TSVN 条目 <= 列表中的 #11)。下面讨论为什么会突然发生这种情况。

I know that based on the overlays that worked prior to a couple of days ago, keys 1-3, 7-9, 12-13 were all <= 11 in the list (not sure if overlay #14 ever worked since I never had files w/ read-only status. #15 never worked on this machine so i know it was never in the top 11). I also assume the block of TSVN keys move up/down in unison, therefore they were bumped down either two or three places (* see below). This implies that 2-3 items were added between the DropBox & TSVN blocks. The three that are there now are added by Windows and I would assume they'd be there as soon as the OS installed.

我知道基于几天前有效的覆盖,列表中的键 1-3、7-9、12-13 都 <= 11(不确定覆盖 #14 是否有效,因为我从来没有具有只读状态的文件。#15 从来没有在这台机器上工作过,所以我知道它从来没有在前 11 名中)。我还假设 TSVN 键块一致向上/向下移动,因此它们被撞到了两个或三个位置(* 见下文)。这意味着在 DropBox 和 TSVN 块之间添加了 2-3 个项目。现在存在的三个是由 Windows 添加的,我认为它们会在操作系统安装后立即出现。

Is the list of 15 overlays determined at run-time? Seems like the overlay handlers might sometimes tell the windows shell that there are no icons to add to the list. Possibly some settings I messed with a couple of days ago related to file sharing and file encryption caused some of those items at the 4-6 spots to become "activated" and push the SVN ones down.

15 个叠加的列表是否在运行时确定?似乎覆盖处理程序有时可能会告诉 windows shell 没有要添加到列表中的图标。可能是我几天前弄乱了一些与文件共享和文件加密相关的设置,导致 4-6 个位置的一些项目被“激活”并推动了 SVN 项目。

In the end I deleted a couple of entries and moved some, so my final list looks like this:

最后,我删除了几个条目并移动了一些条目,因此我的最终列表如下所示:

  1. DropboxExt1
  2. DropboxExt2
  3. DropboxExt3
  4. SharingPrivate (i want this to show up)
  5. TortoiseAdded
  6. TortoiseConflict
  7. TortoiseDeleted
  8. TortoiseModified
  9. TortoiseNormal
  10. TortoiseReadOnly
  11. TortoiseUnversioned
  12. zOffline Files (i don't use Sync Center, or "Offline Files" so I don't care about this)
  13. zEnhancedStorageShell (don't really know what Enhanced Storage is, don't think I need this)
  1. DropboxExt1
  2. DropboxExt2
  3. DropboxExt3
  4. SharingPrivate(我希望它显示出来)
  5. 乌龟添加
  6. 乌龟冲突
  7. 乌龟已删除
  8. 乌龟修改版
  9. 乌龟普通
  10. 乌龟只读
  11. TortoiseUnversioned
  12. zOffline Files(我不使用同步中心或“离线文件”,所以我不关心这个)
  13. zEnhancedStorageShell(不太了解增强型存储是什么,觉得我不需要这个)

回答by Joey

They display fine here. Are you using the 64-bit version of Windows 7 along with the 32-bit version of TortoiseSVN? If so, then they will only show up in the 32-bit Explorer (or in the CFDs of 32-bit applications). You can install both 32-bit and 64-bit versions side-by-side, though.

他们在这里显示得很好。您是否同时使用 64 位版本的 Windows 7 和 32 位版本的 TortoiseSVN?如果是这样,那么它们将仅显示在 32 位资源管理器(或 32 位应用程序的 CFD)中。不过,您可以并排安装 32 位和 64 位版本。

回答by bmt22033

Two other possible solutions:

另外两种可能的解决方案:

  1. Kill TSVNCache.exe and let it re-launch. This has caused my shell overlay icons to re-appear on several occasions.

  2. If you've recently upgraded TortoiseSVN from a previous version, you may need to upgrade your working copy. This can be done by right-clicking on your project folder and choose "SVN Upgrade working copy" from the context menu.

  1. 杀死 TSVNCache.exe 并让它重新启动。这导致我的外壳覆盖图标多次重新出现。

  2. 如果您最近从以前的版本升级了 TortoiseSVN,您可能需要升级您的工作副本。这可以通过右键单击您的项目文件夹并从上下文菜单中选择“SVN 升级工作副本”来完成。

回答by J.D.

I suggest complaining to Microsoft regarding the ridiculously low icon overlay limit. If enough of us complain, perhaps they'll fix the true root cause of this problem:

我建议向微软抱怨低得离谱的图标覆盖限制。如果我们有足够多的人抱怨,也许他们会解决这个问题的真正根源:

See comments at bottom of page: http://msdn.microsoft.com/en-us/library/cc144123(VS.85).aspx

请参阅页面底部的评论:http: //msdn.microsoft.com/en-us/library/cc144123(VS.85).aspx

Give Microsoft Windows 7 team feedback on this issue: http://mymfe.microsoft.com/Windows%207/Feedback.aspx?formID=195

就此问题向 Microsoft Windows 7 团队提供反馈:http: //mymfe.microsoft.com/Windows%207/Feedback.aspx?formID=195

回答by Jaspio

My icons had disappeared too. The registry fixes did not work for me either.

我的图标也消失了。注册表修复对我也不起作用。

This is how I got them back:

这就是我让他们回来的方式:

  1. install the latest version of TortoiseOverlays
  2. restart explorer.exe
  1. 安装最新版本的TortoiseOverlays
  2. 重启资源管理器.exe