Visual Studio регулярное выражение для удаления всех комментариев и пустых строк в коде VB.NET с помощью макроса

Я пытался удалить все комментарии и пустые строки в файле с помощью макроса. Теперь я придумала это решение, которое удаляет комментарии (есть некоторая ошибка, описанная ниже), но не может удалить пустые строки между ними -

Sub CleanCode()
    Dim regexComment As String = "(REM [\d\D]*?[\r\n])|(?<SL>\'[\d\D]*?[\r\n])"
    Dim regexBlank As String = "^[\s|\t]*$\n"
    Dim replace As String = ""

    Dim selection As EnvDTE.TextSelection = DTE.ActiveDocument.Selection
    Dim editPoint As EnvDTE.EditPoint

    selection.StartOfDocument()
    selection.EndOfDocument(True)

    DTE.UndoContext.Open("Custom regex replace")
    Try
        Dim content As String = selection.Text
        Dim resultComment As String = System.Text.RegularExpressions.Regex.Replace(content, regexComment, replace)
        Dim resultBlank As String = System.Text.RegularExpressions.Regex.Replace(resultComment, regexBlank, replace)
        selection.Delete()
        selection.Collapse()
        Dim ed As EditPoint = selection.TopPoint.CreateEditPoint()
        ed.Insert(resultBlank)
    Catch ex As Exception
        DTE.StatusBar.Text = "Regex Find/Replace could not complete"
    Finally
        DTE.UndoContext.Close()
        DTE.StatusBar.Text = "Regex Find/Replace complete"
    End Try
End Sub

Итак, вот как это должно выглядеть до и после запуска макроса.

ДО

Public Class Class1
    Public Sub New()
        ''asdasdas
        Dim a As String = "" ''asdasd
        ''' asd ad asd
    End Sub


    Public Sub New(ByVal strg As String)

        Dim a As String = ""

    End Sub


End Class

ПОСЛЕ

Public Class Class1
    Public Sub New()
        Dim a As String = ""
    End Sub
    Public Sub New(ByVal strg As String)
        Dim a As String = ""
    End Sub
End Class

Есть в основном две основные проблемы с макросом

Он не может удалить пустые строки между ними.Если есть кусок кода, который выглядит следующим образом

Dim a as String = "Name='Soham'"

Затем после запуска макроса становится

Dim a as String = "Name='"

Ответы на вопрос(3)

Ваш ответ на вопрос