2013-12-10 15 views
8

Sto usando ctrl + shift + f per attivare "Trova e sostituisci", andando alla scheda "Sostituisci nei file".Trova e sostituisci in studio visivo non sostituendo tutte le occorrenze

faccio una ricerca regexp in tutta la soluzione (che contiene circa 11000 file) per:

#layout(\d+)-top 

sostituzione che, con

#layout$1 .layout-top 

Un sacco di file vengono modificati dall'operazione, ma quando dopo l'operazione apro un certo file css, posso ancora leggere righe come:

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

Perché?

Se faccio la stessa ricerca & sostituire con quel file aperto, l'operazione avrà effetto sul file.

Sono in grado di trovare numerosi file che non vengono modificati a proposito.

Nell'indicatore di stato che viene visualizzato quando si esegue la ricerca e la sostituzione, vedo che ogni file viene elaborato, non solo i file aperti.

risposta

15

Ho colpito esattamente lo stesso problema. Sembra solo che accada quando si usa un'espressione regolare. So che i file sono stati abbinati perché se cambio 'solo nei file', le linee corrette sono abbinate nei file. Sembra essere un bug per me. Probabilmente, Microsoft non si fida di noi per non spararci ai piedi con le espressioni regex. ;)

L'unico modo ho potuto risolverlo è stato quello di selezionare l'opzione:

Sostituisci tutto si aprirà tutti i file con le modifiche per la modifica

enter image description here

Se don' t ottenere questa finestra di avviso, potreste averla disabilitata, vedere here.

Poi basta digitare ALTfl per salvare tutti i file e vicino tutti. Sembrava funzionare quando c'erano circa 200 file con sostituzioni (il set completo di file cercati era circa 10000). Non sono sicuro di quanti file Visual Studio possa aprire contemporaneamente, quindi immagino che a un certo punto non funzionerà più o le sostituzioni saranno perse, nel qual caso potrebbe essere necessario eseguirlo più volte.

Problemi correlati