我的解决方案只有一个项目,大约有30个类文件。如果我使用“查找和替换”来搜索当前打开的文档,它会很快,但如果我尝试搜索整个解决方案,则每个结果之间似乎需要3-4秒。即使我可以看到彼此相邻的比赛,仍然有3-4秒的滞后。硬盘驱动器没有做任何事情,CPU处于空闲状态 - 这可能导致这种失速?
答案 0 :(得分:7)
使用“在文件中查找”,因为它的速度要快得多。
答案 1 :(得分:3)
我使用Microsoft Sysinternals tool ProcMon.exe找到答案。在VS 2008中使用Ctrl-Shift-H进行搜索非常慢;可以在所有文件中查找,包括整个解决方案,查找选项字段“查看这些文件类型”文本框为空。
我通过ProcMon.exe发现它为DevEnv.exe进程显示它正在搜索资源文件(包含的DLL,JPG,GIF等)。 =(哎哟。我决定更改“查看这些文件类型”,只针对长文本过滤器“ .vb; .resx; *。xsd”等进行处理,瞧,它很快嗯,这似乎有点奇怪,它会搜索不可搜索的文件(实际上说)。=(
“devenv.exe”的结果显着更少,并且设置了这些过滤后的文件类型的速度更快。
以下是重现的完整步骤,因此如果您还有其他需要使用此过程的情况,请随时跟进。
最后,请确保“查看这些文件类型”与您要搜索的确切项目相匹配。有没有人对排除GIF,PNG,JPG等文件以及其他不需要的文件有任何想法搜索?可能正则表达式!?有人想提供一些反馈意见,以便我们都可以从更好的搜索和替换经验中受益吗?
啊,那好多了,我不需要等待5-8秒才能找到下一个命中。
答案 2 :(得分:1)
检查VS搜索的路径。这可能是导致大量时间的顶级目录。如果是这样的话 - 缩小要搜索的目录。
答案 3 :(得分:0)
来自MS的糟糕程序设计和代码。如果您使用Resharper或类似工具,您会发现这可以更快地完成。并不是说我得到了任何建议,但是如果你学会使用Resharper(一个商业插件),你可以节省很多时间,不仅仅是搜索和替换,还有无数其他艰巨的日常编程任务。