VisualStudioの正規表現置換が便利 Tips

C#にはC++でいうデフォルト引数がない。(C# 4.0には搭載されるらしい)
なので引数を増やすときに少し面倒。
例えばこんな感じ

        private void test(int a, int b)
        {
            //何かの処理
        }

        private void 呼び出し元()
        {
            test(1, 0);
            test(2, 0);
            test(3, 2);
        }

testメソッドはint,intを引数に受けるが、test(int a, int b, bool c)としたい。
既存の呼び出し元は増えた引数はtrueを渡したい。
C++だったら

     private:
        void test(int a, int b, bool c=true)
        {
            //何かの処理
        }

        void 呼び出し元()
        {
            test(1, 0);
            test(2, 0);
            test(3, 2);
        }

こんな感じでデフォルト引数を使えばできる。
C#にはないので置換しないといけない。
そこで役に立つのが正規表現置換

クイック置換の「条件」に「正規表現」を選択しておき、「検索する文字列」に「test\({.*}\)」、「置換後の文字列」に「test(\1, true)」を指定して実行すると

        private void test(int a, int b, true)
        {
            //何かの処理
        }

        private void 呼び出し元()
        {
            test(1, 0, true);
            test(2, 0, true);
            test(3, 2, true);

一発で置換できあがり!
ってtest関数の引数もtrueになっちゃった。
まぁそこはちゃんと考えてやればOK。