如何在VS 2012解决方案中查找/替换多个字符串

时间:2014-06-11 19:02:50

标签: c# visual-studio-2012

我需要用另一个字符串替换大约2000个字符串,我尝试编写一个VS加载项来迭代字符串列表并在所有文件中逐个替换,如下所示:

foreah(item in strings)
{
    findWin.FindWhat = item;
    findWin.ReplaceWith = "string2";
    findWin.Action = vsFindAction.vsFindActionReplaceAll;
    findWin.Target = vsFindTarget.vsFindTargetFiles;
    findWin.KeepModifiedDocumentsOpen = true; 
    findWin.WaitForFindToComplete = true;                   
    findWin.Execute();
}

但是,它仅在我将find选项设置为OpenDocuments时才有效,否则会抛出AccessViolation异常。解决方案中有大约8个项目,其中有很多文件。

有没有更干净/更好的方法来实现这一目标?

谢谢

1 个答案:

答案 0 :(得分:0)

当您不需要与“查找/替换”对话框进行交互时,可以尝试更适合的DTE.Find.FindReplace方法。