在visual studio中查找并替换不替换所有实例

And*_*dén 11 visual-studio visual-studio-2012 visual-studio-2013

我使用ctrl + shift + f来触发"查找和替换",转到"替换文件"选项卡.

我在整个解决方案(包含大约11000个文件)中进行正则表达式搜索:

#layout(\d+)-top
Run Code Online (Sandbox Code Playgroud)

用它代替

#layout$1 .layout-top
Run Code Online (Sandbox Code Playgroud)

操作改变了很多文件,但是当我在操作后打开某个css文件时,我仍然可以读取如下行:

#layout5-top,
#layout6-top
{
    width: 960px;
    height: 104px;
    margin: 0 auto;
}
Run Code Online (Sandbox Code Playgroud)

为什么?

如果我执行相同的搜索并替换该文件打开,该操作将影响该文件.

我可以找到许多没有改变的文件.

在搜索和替换运行时出现的进度指示器中,我看到每个文件都被处理,而不仅仅是打开文件.

aca*_*lon 16

我遇到了完全相同的问题.它似乎只在使用正则表达式时发生.我知道文件正在匹配,因为如果我换成'在文件中查找',文件中会匹配正确的行.这对我来说似乎是个错误.可能,微软并不相信我们不会用正则表达式自己投篮.;)

我可以解决它的唯一方法是选择选项:

全部替换将打开包含更改的所有文件以进行编辑

在此输入图像描述

如果您没有收到此警告对话框,则可能已将其禁用,请参阅此处.

然后输入ALTfl以保存所有文件并关闭所有文件.当大约有200个文件有替换时(搜索的完整文件集大约为10000),这似乎有效.我不确定Visual Studio一次可以打开多少个文件,所以我想在某些时候它将不再工作或者将丢失替换,在这种情况下,您可能需要多次运行它.