代码之家  ›  专栏  ›  技术社区  ›  Erv Walter

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

  •  12
  • Erv Walter  · 技术社区  · 14 年前

    在Visual Studio 2010的“工具”下->选项->文本编辑器->HTML->格式化->特定于标记的选项,有一些用于配置编辑器如何自动格式化不同的HTML和ASP.NET标记的选项。这包括是否应该在标记前后自动放置换行符等。

    是否有地方可以配置<%%的格式规则&燃气轮机<%=%&燃气轮机;和<%:%&燃气轮机;以类似的方式积木?

    特别是,我不想在<%=和<%:阻碍。

    <h1>
        <%: Model.Name %></h1>
    

    但我想这样:

    <h1><%: Model.Name %></h1>
    

    在一个完美的世界中,我还想自动格式化<%%的内容&燃气轮机;块以确保<%之间始终有一个空格以及它的内容。

    <% if (something) { %>
    

    坏的:

    <%if (something) {%>
    

    那么,是否有任何设置隐藏在某个地方来控制这些格式化行为?

    4 回复  |  直到 14 年前
        1
  •  8
  •   Erv Walter    14 年前

      • (这使得h1、p和类似标记的行为符合我的要求。其他人可能不希望有任何选择。我想是个人喜好吧。)
    • 在客户端HTML标记下添加一个新标记。
      • 标记名:%
      • 换行符:前后
      • (这将捕获实际的代码块,并在代码块前后使用换行符将它们与HTML标记分隔开。)
      • 结束标记:无结束标记
      • (此项捕获<%:%&燃气轮机;块并将它们与HTML标记保持内联,而不使用任何换行符。)
      • 结束标记:无结束标记
      • 换行符:无
      • (与前一个类似。这将捕获<%=%&燃气轮机;块并将它们与HTML标记保持内联,而不使用任何换行符。)

    诀窍在于,编辑似乎认识到了<%%&燃气轮机;块作为名为“%”的客户端标记,该标记没有结束标记。<%:%&燃气轮机;和<%=%>。

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

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

        2
  •  2
  •   schellack    14 年前

    你找对了地方:

    HTML->格式化->标记特定的

    但是,您需要在默认设置下,将“Client tag supports contents”中的换行符选项设置为“None”。VisualStudio正在查看此设置,而不是 <h1 /> 标签。

    我不相信这会给你内部的空间 <% %> 标记,但它会修复那些有害的额外换行。

    [编辑]

        3
  •  1
  •   Vertigo    13 年前

    实际上,从VS的角度来看,这两个文件夹(Client和ASP.NET)之间没有任何显著的区别。它们的存在只是为了方便。事实上,这个标签只能通过它的名字来识别,(幸运的是)VS忽略了它不是一个 真标记 . 因此,您可以将主题设置放在任一文件夹中。甚至可以创建(我个人所做的)另一个文件夹(例如, 表达

    h1-h6型

        4
  •  0
  •   Dänu    14 年前

    嗯,有编辑->高级->格式化文档,我猜这也会弄乱你的代码。我搜索了大量的文件试图找到更多的东西,但据我所知,没有任何东西。

    编辑: 问题不在HTML格式选项中,而在<%%&燃气轮机标签”。例如: <h2><span></span></h2> 效果很好。正如我所说,我认为这是不可能的。

    目前我建议使用:

    <h2>
        <%="Hello World" %>
    </h2>
    

    <h2>
        <%
            if(true)
                Response.Write("Hello World");
        %>
    </h2>