2013-12-10 23 views
8

我使用CTRL + SHIFT + F觸發「查找和替換」,進入選項卡「替換在文件中」。查找並替換視覺工作室不會取代所有的事件

我在整個解決方案正則表達式搜索(其中包含約11000文件):

#layout(\d+)-top 

更換與

#layout$1 .layout-top 

很多文件都是由操作改變,但當我手術後打開某個css文件,我仍然可以讀取如下行:

#layout5-top, 
#layout6-top 
{ 
    width: 960px; 
    height: 104px; 
    margin: 0 auto; 
} 

爲什麼?

如果我做同樣的搜索&替換成那個文件打開,操作會影響文件。

我可以找到很多沒有改變的文件。

在搜索和替換運行時出現的進度指示器中,我看到每個文件都被處理,而不僅僅是打開的文件。

回答

15

我碰到完全相同的問題。它似乎只在使用正則表達式時發生。我知道這些文件正在匹配,因爲如果我交換到「在文件中查找」,正確的行在文件中匹配。這對我來說似乎是一個錯誤。可能地,微軟不相信我們不會用正則表達式在自己的腳下開槍。 ;)

我能解決這個問題的唯一辦法是選擇的選項:

全部替換將打開的所有文件有改動編輯

enter image description here

如果你不」 t得到此警告對話框,您可能已禁用它,請參閱here

然後只需鍵入ALT˚F升保存所有文件並關閉所有。 當有大約200個替換文件(搜索的全套文件大約是10000)時,這似乎工作。我不確定Visual Studio一次可以打開多少個文件,所以我想在某些時候它將不再工作,或者將會錯過替換,在這種情況下,您可能需要多次運行它。