misc.log

日常茶飯事とお仕事と

Visual StudioのRegion指定を全部消す

Visual StudioVB.NETを使う場合、

#Region "テストコード"
    Private Sub TestCode
        Debug.WriteLine("Test")
    End Sub
#End Region

のように、Region句で囲むことでそこを折りたたむ事が出来る。

既にあるソースから、このRegionを取り外すには、Visual Studio統合開発環境の置換機能で、正規表現でコードを選択し、空白で置換する必要がありそうだ。

とりあえず、考えてみた。こんなんでいけるのでは?

{{^\#Region \"[^\"]+\"}|{^\#End Region}}

ただ、この方法では、Formクラス内部でVisual Studioが自動生成したソース部分のRegionも消えてしまう。これを除外する処理を入れないといけない。

回避したいのは

#Region " Windows フォーム デザイナで生成されたコード "

という文字列。これに該当する場合には、置換対象から外す必要がある。こういうのって、どうやるんだっけ???さらに、完全自動化には、上記のケースに対応する「#End Region」は置換対象外...だりぃ。
というわけで、こんな感じで代行どうでしょうか?

{{^\#Region \"[^#W]*\"}|{^\#End Region}}

これで、「W」という文字を含む#Regionは残るので、あとはタスク一覧に出てくる問題行を1個ずつ潰して...(ひどい)。