我在网上四处寻找一种方法来删除VS 2010的查找/替换功能的历史,但我得到的只是对以前版本(VS 05,VS 08等)有效的答案。有谁知道2010版本有多清楚?谢谢!
打开regedit.exe
,去HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Find
。删除所有以Find
和Replace
开头的键,如Find1
,Find2
,Replace1
等。您可以仅删除Find
或Replace
的历史记录,或者只删除特定的Find
,如果您愿意。
HKEY_CURRENT_USER
用户是当前登录的用户。
如果您需要清除其他用户的历史记录,则需要访问HKEY_USERS\{UserId}\Software\Microsoft\VisualStudio\10.0\Find
例如HKEY_USERS\S-1-5-21-2705333110-2095705488-3072420928-1000\Software\Microsoft\VisualStudio\10.0\Find
。
[编辑]
一步步:
using Microsoft.Win32;
public static void Main()
{
var findKey = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\VisualStudio\10.0\Find", true);
findKey.GetValueNames()
.Where(arg => Regex.IsMatch(arg, @"^Find( \d+)?$"))
.ToList()
.ForEach(findKey.DeleteValue);
}
请记住,VS缓存此Find
和Replace
列表。当您关闭VS时,它会将列表保留到注册表中。因此,如果您清理列表然后重新启动VS,您将看不到任何效果,因为VS在关闭时恢复了列表。所以你需要关闭VS,清除列表,打开VS.
我的2美分 - 如果一切都失败了,那就试着自己搜索很多不同的术语。它记住的搜索次数有限制,最终您自己的搜索会将不需要的搜索从列表中删除。
对于Visual Studio 2017:
http://www.visualstudioextensibility.com/2017/07/15/about-the-new-privateregistry-bin-file-of-visual-studio-2017/ https://github.com/Microsoft/VSProjectSystem/blob/master/doc/overview/examine_registry.md
提取: