C# 自动化Visual Studio 2017查找和替换

C# 自动化Visual Studio 2017查找和替换,c#,visual-studio,visual-studio-2017,C#,Visual Studio,Visual Studio 2017,对于项目重构,我需要对80多个类执行4(regex)搜索和替换。由于正则表达式非常长,我目前正在从一个txt注释文件复制和粘贴它们。。。同上(一个剪贴板管理器)帮助我加快了一点速度,但更好的自动化将不胜感激。。!我尝试了几个宏插件,但它们工作不太好,或者太复杂(使用envDTE)。你们中有谁曾经需要完成类似的任务并找到解决方案来提出建议 谢谢你的帮助 您可以尝试使用我的扩展来自动执行此任务。例如,要执行搜索并替换为正则表达式,请使用以下代码: public void Run(EnvDTE80.D

对于项目重构,我需要对80多个类执行4(regex)搜索和替换。由于正则表达式非常长,我目前正在从一个txt注释文件复制和粘贴它们。。。同上(一个剪贴板管理器)帮助我加快了一点速度,但更好的自动化将不胜感激。。!我尝试了几个宏插件,但它们工作不太好,或者太复杂(使用envDTE)。你们中有谁曾经需要完成类似的任务并找到解决方案来提出建议

谢谢你的帮助

您可以尝试使用我的扩展来自动执行此任务。例如,要执行搜索并替换为正则表达式,请使用以下代码:

public void Run(EnvDTE80.DTE2 DTE, Microsoft.VisualStudio.Shell.Package package) 
{
    int options = (int)(EnvDTE.vsFindOptions.vsFindOptionsRegularExpression |
           EnvDTE.vsFindOptions.vsFindOptionsMatchCase |
           EnvDTE.vsFindOptions.vsFindOptionsMatchInHiddenText |
           EnvDTE.vsFindOptions.vsFindOptionsSearchSubfolders |
           EnvDTE.vsFindOptions.vsFindOptionsKeepModifiedDocumentsOpen);
    DTE.Find.FindReplace(EnvDTE.vsFindAction.vsFindActionReplaceAll,
        @"(\.Register\w*)\(""([^""]+)""",
        options,
        @"$1(nameof($2)",
        EnvDTE.vsFindTarget.vsFindTargetCurrentDocument);
}

有关更多详细信息,请参阅文档。

如果您确信正则表达式“查找/替换”按预期工作,则可以编写一个快速控制台应用程序,对项目文件夹中的源文件进行爬网,然后在其上执行正则表达式。同意@JonathonChase。我认为VS在阻碍你。只需将一个应用程序(或linqpad中的某个应用程序)组合在一起就可以为您实现这一点。哇,您';我说得很快:)也许我需要更具体地说明一个细节。在该项目中,我需要找到一个替换为B,然后将B复制到另一个文件中,然后找到B并替换为C!自动化这是很困难的,因为第二个文件(一个新类)必须从头开始创建。。谢谢如果你已经有了一个模板或一个快速草图,那就不会是一个障碍。你可能已经增加了你的问题的精确度,我们离MCVE还很远。这正是我想要的!很有魅力,谢谢!