使用自动注释标题应用程序后,我发现它在代码启动之前删除了最后一个返回。这意味着解决方案中的所有文件现在都是这样的:
//-----------------------------------------------------------------------------
// File Name: Mapper.cs
// Creation Date: 13/02/2013
// Author: person
//-----------------------------------------------------------------------------using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
我现在需要修复几百个文件,而我的源代码控制权已经消失(在EC2 Micro上已经失效)。我好像在这里遇到了一系列不幸的事件。是否有一个宏或类似的东西可以帮助我摆脱这种束缚?
答案 0 :(得分:3)
在Visual Studio中,您可以使用通配符替换所有通配符,以便插入换行符。我现在没有IDE,但它应该是这样的:
使用通配符在项目的所有文件中搜索:
---using
将其替换为:
---\nusing
或者像Kirk建议的那样,使用正则表达式。
搜索:
---.*
替换为:
---\n\1
答案 1 :(得分:1)
使用IDE的另一种方法是,您可以启动LinqPAD然后运行此代码 (以前的备份是不要忘记的)
void Main()
{
string yourRootSolutionPath = @"D:\temp";
foreach(string s in Directory.EnumerateFiles(yourRootSolutionPath, "*.cs", SearchOption.AllDirectories))
{
string[] lines = File.ReadAllLines(s);
for(int x = 0; x < lines.Length; x++)
{
int pos = lines[x].IndexOf("---using");
if(pos > 0)
{
lines[x] = lines[x].Substring(0, pos+3) + Environment.NewLine + lines[x].Substring(pos+3);
File.WriteAllLines(s, lines);
break;
}
}
}
}
答案 2 :(得分:1)
Edit > Find and Replace > Find in Files
。 Find options
组框并启用
Use Regular Expressions
。Find what:
下拉粘贴-using System;
Replace with:
下拉粘贴-\rusing System;
Look in:
下拉列表中使用Entire Solution
。*.cs
下拉菜单添加Look at these file types:
来进一步限制搜索。使用Find Next
和Replace
选项尝试搜索。如果事情看起来不错,那么向Visual Studio Gods祈祷并单击Replace All
按钮。