如何让服务器块<%%>在Visual Studio中格式化?

JC *_*bbs 21 visual-studio-2008 visual-studio

我最近使用的是ASP.NET MVC,这意味着使用服务器块.当我键入时,Visual Studio会执行以下操作:

<% } %>
Run Code Online (Sandbox Code Playgroud)

并点击进入,我明白了:

<%
     }
     %>
Run Code Online (Sandbox Code Playgroud)

这是不雅观的,通常是我见过的最可怕的事情.我已经非常严格地定制了Ctrl + K + D行为,当我这样做时,除了这一个案例之外,我得到了一切看起来我想要的方式.任何人有任何关于如何自定义的建议?

Cha*_*ert 3

看行为。我不知道您是否可以仅针对 HTML 编辑器覆盖它。它展示了 C# 编辑器首选项中定义的确切行为。

我想您可以在 C# 编辑器首选项中修改右大括号的行为,但这会对您的 .cs 文件造成一些麻烦。

编辑:

我厌倦了尝试寻找其他方法来做到这一点。所以我写了这个宏。在 VS 2k8 中测试。不是2k5。你可以看看它的作用。另外,对 VB 感到抱歉,但它是宏编辑器的默认设置。

Sub FixFormatCurrentFile()

    Dim selection As TextSelection = DTE.ActiveDocument.Selection
    Dim fixed As String = "<% } %>"
    Dim regex As String = "\<\%:Wh*\}:Wh*\%\>"

    While selection.FindPattern(regex, vsFindOptions.vsFindOptionsRegularExpression)
        selection.ReplacePattern(regex, fixed, vsFindOptions.vsFindOptionsRegularExpression)
    End While
End Sub
Run Code Online (Sandbox Code Playgroud)