2011-06-26 81 views
13

我在網上查了一下,試圖找到一種方法來刪除VS 2010的查找/替換功能的歷史記錄,但我得到的所有答案都只是對以前版本有效的答案(VS 05,VS 08等)。有沒有人知道如何清除它的2010版? 謝謝!在Visual Studio 2010中刪除查找/替換歷史記錄

+0

我們可以知道_WHY_你會想要這樣做嗎? –

+1

當我離開我的電腦的時候,我的一個好朋友讓我發現了一堆咒語,所以現在當我使用查找/替換功能時,它顯示了他搜索的所有術語。我想讓那些不再出現的。 –

+0

如果您不得不搜索您現在想從查找歷史記錄中刪除的敏感信息,那麼這很有用。 – jaybro

回答

22

打開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. 做出快速控制檯應用程序:

    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 - 查找歷史記錄爲空。

請記住,VS緩存此FindRepalce列表。當你關閉VS時,它將列表保存到註冊表中。所以如果清理列表然後重新啓動VS,您將看不到任何效果,因爲VS會在關閉時恢復列表。所以你需要關閉VS,清除列表,打開VS.

+0

我已經試過了,沒有/發現我可以看到。這是唯一的方法嗎? –

+0

@Alex Flores - 這是VS存儲這些值的地方。手動註冊表編輯並不是清除此存儲的唯一方法。也有第三方工具,但他們都將基本上清除這些註冊表項。 –

+0

試過了,它的工作原理! – HerbalMart

7

我的2美分 - 如果一切都失敗了,只是嘗試自己搜索很多不同的術語。它記住的搜索次數是有限制的,最終你自己的搜索會將不需要的搜索從列表中推出。

+0

Visual Studio 2015顯示歷史記錄中的20個項目。尋找更多的東西,不需要的將被推到最後。 – stannius

+0

如果您的權限不允許使用註冊表,則爲有效的解決方案。 – jaybro