删除Visual Studio 2010上的查找/替换历史记录

时间:2011-06-26 18:11:09

标签: visual-studio-2010 replace

我环顾四周试图找到一种方法来删除VS 2010的查找/替换功能的历史记录,但我得到的只是对以前版本(VS 05,VS 08等)有效的答案。有谁知道2010版本有多清楚? 谢谢!

3 个答案:

答案 0 :(得分:24)

打开regedit.exe,转到HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Find。删除以FindReplace开头的所有密钥,例如Find1Find2Replace1等。您只能删除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

<强> [编辑]

步骤一步:

  1. 制作快速控制台应用程序:

    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);
    }
    
  2. 编译并关闭VS。

  3. 运行已编译的exe。
  4. 打开VS - 查找历史记录为空。
  5. 请记住,VS会缓存此FindReplace列表。当您关闭VS时,它会将列表保留到注册表中。因此,如果您清理列表然后重新启动VS,您将看不到任何效果,因为VS在关闭时恢复了列表。所以你需要关闭VS,清除列表,打开VS。

答案 1 :(得分:7)

我的2美分 - 如果一切都失败了,那就试着自己搜索很多不同的术语。它记住的搜索次数有限制,最终您自己的搜索会将不需要的搜索从列表中删除。

答案 2 :(得分:3)

对于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

提取:

  1. 关闭Visual Studio
  2. 启动Regedit.exe
  3. 选择HKEY_LOCAL_MACHINE节点
  4. 从主菜单中,选择“文件”->“加载配置单元...”,然后选择私有注册表文件。该文件存储在本地应用程序数据%localappdata%\ Microsoft \ VisualStudio \\ privateregistry.bin中,其中核心对应于您要浏览的配置单元
  5. 它会提示您输入一个名称-代表将显示在(例如,isolatedHive)下的名称
  6. 现在您应该能够在创建的配置单元下浏览注册表 现在,搜索键“查找”并删除您需要删除的所有内容。
  7. 在启动Visual Studio之前,您需要先将其卸载:在尝试运行VS之前,从主菜单“文件”->“卸载Hive”(否则regedit会将文件锁定,而Visual Studio将无法启动)