1

同僚が Perl スクリプトを作成して、C++ ソース ファイルを使用し、ファイル内のすべてのメソッドの上にテキストを追加していました。彼は、メソッドの一番上の行を検出するために、ゼロから正規表現を使用してコードを開発しようとしていました。

void MyClass::MyMethod(int somethingOrOther)

これをゼロから実行しようとすると、マクロ、コメント、条件などからメソッド ヘッダーを区別するなど、地雷がはびこります。

VS 2005 はすべてのメソッドの開始位置と終了位置を正確に把握できるように見えるため、これは非常に難しい方法かもしれません (ボックスをクリックしてメソッド ソースを折りたたむことができます)。

ソリューション全体で、VS 2005 IDE 内で各メソッドの上にテキストを追加する簡単な方法はありますか?

4

1 に答える 1

2

正規表現の検索と置換を実行できます。置換ボックスに新しい行を配置できるので、好きなことを何でもできます (パラメーターの抽出を除く)。例は近日公開予定です。

検索文字列:^: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 パーサーにフックする方法はわかりませんが、これは少しやり過ぎかもしれません。

于 2010-01-14T03:21:42.790 に答える