2012-02-29 27 views
39

有一天,在VS2010中,我使用了“在文件中查找”工具。我将“查看这些文件类型”选项设置为“* .sql”。从那以后,当我调出这个工具时,它会随机地将文件类型默认为“* .sql”,或者空白。我希望它始终默认为空白。VS2010“看看这些文件类型”选项保持重置为以前的值

“错误”发生在不同的解决方案中。

有谁知道为什么它随机重置为“* .sql”,我怎么能让它停止?

谢谢!

更新/解决方案

见接受的注册表路径为这个值存储在何处的答案。或者请参阅我的答案,了解一个简单易用的Visual Studio解决方案。

回答

44

我不知道为什么它的行为是随机的。我的VS2010总是使用我输入的最后一个文件过滤器,但不幸的是它似乎没有记得我清除选项。

要将其还原为空白,请使用regedit.exe并导航到HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 10.0 \ Find。编辑名为“Filter”的值并将数据设置为空白。

但是,下次将其更改为* .sql时,Visual Studio将存储它并记住它。

+0

是的,我想出了注册表黑客。感谢您确认它适合您。现在它卡在* .vb :) – 2012-04-12 21:28:16

+1

就在VS2012发生在我身上。答案与\ 11 \ – 2013-06-05 19:20:51

+7

中的相同,我称之为错误,这是一个特别恼人的问题,因为它似乎只记得您在不方便时所做的最后一次操作,并且永远不会对它有用。 – 2014-01-07 09:35:48

28

Duh,将过滤器更改为*,Visual Studio会记住它,它将执行未过滤的搜索。不知道为什么我没有早点想到它。

+9

很好的解决方法,但只强调这种行为是多么愚蠢。 – 2014-01-07 10:01:25

+7

如果只有这样工作。我多次将它设置为'*'。它总是从那个一个月的月份恢复到'spec * .cs',我想要搜索这些文件! – 2015-02-10 20:25:24

7

Visual Studio具有将此信息存储在注册表中的“功能”。您可以手动更改注册表,但由于我们需要在每次过滤搜索后更改注册表,因此使用.reg文件来执行此操作非常有用。

另存为“重置搜索在Visual Studio.reg”:

Windows Registry Editor Version 5.00 

[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0\Find] 
"Query"="Entire Solution" 
"Filter"="" 
"Filter 0"="" 

[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\Find] 
"Query"="Entire Solution" 
"Filter"="" 
"Filter 0"="" 

[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Find] 
"Query"="Entire Solution" 
"Filter"="" 
"Filter 0"="" 
10

这发生在Visual Studio 2017年为好,而我无法找到注册表中清除。我的解决方法是将文件类型设置为*.*而不是清除它。

+1

这对我来说在2017年工作,这是很好的,因为它是最简单的解决方案。单独将它设置为'*'不适用于我。 – Tim 2017-06-02 17:30:53

+2

显然Visual Studio 2017使用一个私人注册表...你可以在其他答案中找到其中的密钥https://stackoverflow.com/a/41122603/1328536 – fuchs777 2017-07-27 09:21:54

相关问题