代码之家  ›  专栏  ›  技术社区  ›  John

在VS2005中,在解决方案的所有方法之上添加文本的简单方法是什么?

  •  1
  • John  · 技术社区  · 15 年前

    一个同事正在研究一个Perl脚本来消耗C++源文件,并在文件的所有方法之上添加文本。他希望使用正则表达式从一开始就开发代码,以检测方法的顶行:

    void MyClass::MyMethod(int somethingOrOther)
    

    从头开始尝试这样做充满了雷区,比如从宏、注释、条件等中辨别方法头。

    这可能是一种真正非常困难的方法,因为vs 2005似乎能够准确地找出所有方法的起点和终点(这样我就可以单击框来折叠方法源)。

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

    1 回复  |  直到 15 年前
        1
  •  2
  •   Igor Zevaka    15 年前

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

    搜索字符串: ^:b*{:i}:b{:i}\:\:{:i}:b*{\(.*\)}
    替换字符串: ///Regex Example\n///Class: \2\n///Method: \3 returning \1\n\1 \2::\3\4

    代码:

    ///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)
    

    我不知道有什么方法可以挂接到Visual Studio解析器中,除非您编写一个插件,这可能有点过分。