在Visual Studio编辑器中配置<%%>块的格式

Erv*_*ter 12 asp.net visual-studio-2010 visual-studio

在Visual Studio 2010中,在"工具" - >"选项" - >"文本编辑器" - >"HTML" - >"格式" - >"标记特定选项"下,可以选择配置编辑器如何自动格式化不同的HTML和ASP.NET标记.这包括如果它应该在标签之前和之后自动添加换行符等等.

是否有以类似方式配置<%%> <%=%>和<%:%>块的格式规则的位置?

特别是,我不想在<%=和<%:blocks之前强制换行.

例如,我已经将h1标记的选项配置为不在其内容周围添加换行符,并且对静态内容有效,但是当h1标记中存在<%:或<%=块时,它不起作用.我目前得到这个:

<h1>
    <%: Model.Name %></h1>
Run Code Online (Sandbox Code Playgroud)

但我想这样:

<h1><%: Model.Name %></h1>
Run Code Online (Sandbox Code Playgroud)

在完美的世界中,我还想自动格式化<%%>块的内容,以确保<%及其内容之间始终存在空格.

例如,好:

<% if (something) { %>
Run Code Online (Sandbox Code Playgroud)

坏:

<%if (something) {%>
Run Code Online (Sandbox Code Playgroud)

那么,是否有任何设置埋藏在某处以控制这些格式化行为?

Erv*_*ter 8

感谢@schellack让我朝着正确的方向努力.以下是获取我想要的行为所需的设置(所有这些都在标签特定选项对话框中):

  • 默认设置 - >客户端标记支持内容
    • 换行符:前后
    • (这使得h1,p和类似的标签按照我想要的方式运行.其他人可能想要无选择.我想是个人偏好.)
  • 在客户端HTML标记下添加新标记.
    • 标签名称: %
    • 结束标记:没有结束标记
    • 换行符:前后
    • (这会捕获实际的代码块,并在代码块之前和之后使用换行符将它们与HTML标记分开.)
  • 在客户端HTML标记下添加另一个新标记
    • 标签名称: %:
    • 结束标记:没有结束标记
    • 换行符:无
    • (这会捕获<%:%>块并使它们与HTML标记保持内联,而不会有任何换行符.)
  • 在客户端HTML标记下添加另一个新标记
    • 标签名称:%=
    • 结束标记:没有结束标记
    • 换行符:无
    • (与前一个类似.这会捕获<%=%>块并使它们与HTML标记保持内联,而不会有任何换行符.)

诀窍是编辑器似乎将<%%>块识别为名为'%'且没有结束标记的客户端标记.<%:%>和<%=%>的交易相同.

使用这些设置(结合Visual Studio中的其余默认设置),我得到了格式化的标记,如下所示(这是我正在寻找的紧凑形式):

    <h1><%: Model.Name %></h1>
    <ul>
        <% foreach (var item in Model.Items) { %>
        <li><%: item %></li>
        <% } %>
    </ul>
Run Code Online (Sandbox Code Playgroud)

到目前为止,似乎我的问题的第二部分是不可能的.