在VS2005的解决方案中,在所有方法之上添加文本的简单方法? 一位同事正在研究Perl脚本,以消耗C++源文件,并在文件中的所有方法之上添加文本。他希望从头开始使用正则表达式开发代码,以检测该方法的顶行: void MyClass::MyMethod(int somethingOrOther)

在VS2005的解决方案中,在所有方法之上添加文本的简单方法? 一位同事正在研究Perl脚本,以消耗C++源文件,并在文件中的所有方法之上添加文本。他希望从头开始使用正则表达式开发代码,以检测该方法的顶行: void MyClass::MyMethod(int somethingOrOther),c++,visual-studio-2005,macros,text-manipulation,C++,Visual Studio 2005,Macros,Text Manipulation,从头开始尝试这样做充满了地雷,比如区分方法头与宏、注释、条件等 这可能是一种非常非常困难的方法,因为VS2005似乎能够准确地确定所有方法的开始和结束位置(这样我就可以单击框来折叠方法源) VS 2005 IDE中是否有一种简单的方法可以在解决方案范围内的每个方法上方添加一些文本?您可以执行正则表达式搜索和替换。因为您可以将新行放入替换框中,所以您可以随心所欲地执行任何操作(提取参数除外)。示例即将出现 搜索字符串:^:b*{:i}:b{:i}\:\:{:i}:b*{\(.*\)} 替换字符串:

从头开始尝试这样做充满了地雷,比如区分方法头与宏、注释、条件等

这可能是一种非常非常困难的方法,因为VS2005似乎能够准确地确定所有方法的开始和结束位置(这样我就可以单击框来折叠方法源)


VS 2005 IDE中是否有一种简单的方法可以在解决方案范围内的每个方法上方添加一些文本?

您可以执行正则表达式搜索和替换。因为您可以将新行放入替换框中,所以您可以随心所欲地执行任何操作(提取参数除外)。示例即将出现

搜索字符串:
^:b*{:i}:b{:i}\:\:{:i}:b*{\(.*\)}

替换字符串:
///Regex示例\n///Class:\2\n///Method:\3返回\1\n\1\2::\3\4

代码:

我不知道有什么方法可以连接到VisualStudio解析器,除非您编写一个插件,这可能有点过分了

///Regex Example
///Class: Class
///Method: Foo returning void
void Class::Foo(int oneParam)
///Regex Example
///Class: Class
///Method: Bar returning void
void Class::Bar(int noParam)