【问题标题】:HTML formatting in Visual Studio 2010Visual Studio 2010 中的 HTML 格式
【发布时间】:2011-06-06 02:13:18
【问题描述】:

每当我在 Visual Studio 中使用 Ctrl-K、Ctrl-D 重新格式化 html 源代码时,它都会像这样格式化我的源代码:

<p>
    text</p>
<p>
    more text</p>

我怎样才能让它改用以下格式?

<p>
    text
</p>
<p>
    more text
</p>

我知道Options-> Text Editor -> Html -> Formatting 有设置,但是我在那里找不到合适的。

谢谢,

阿德里安

编辑:我已经检查了特定于标签的设置,并且 p 标签的分页符设置为“打开前、关闭内和关闭后”。此外,小预览显示了我想要的格式。但是 Visual Studio 仍然做错了。这与在我的系统上安装 Resharper 有什么关系吗?

【问题讨论】:

    标签: asp.net html visual-studio visual-studio-2010


    【解决方案1】:

    问题与 ReSharper 无关。这是 Visual Studio Source Formatter 设计的一项功能,它会尝试不因您指定的格式选项而更改元素的语义。

    因此,您指定希望 p 标记在内容中具有中断,但是 ap 标记之后的中断会改变标记中内容的语义,因此格式化程序最终将结束 p 标记放在内容。要将结束标记放在单独的行上,您需要在内容结尾和结束标记之前显式添加一个空格。

    因此:

    <p>content</p>
    

    将产生:

    <p>
       content</p>
    

    While(注意在内容和结束 p 标签之间明确包含一个空格):

    <p>content </p>
    

    将产生:

    <p>
       content
    </p>
    

    Scott Guthrie 在倒数第三段的blog post 中对此进行了讨论。从附加链接部分正上方的段落开始计数。

    【讨论】:

    • 为什么在p 元素后添加空格会改变语义?浏览器会以不同的方式处理这些情况吗?
    • 有解决这个问题的插件吗?我认为这个空间问题只会影响 IE6 布局,我会让它正确格式化代码。
    【解决方案2】:
    【解决方案3】:

    单击工具、选项、文本编辑器、HTML、格式、标签特定选项。
    p 添加一个新的客户端标签(如果它还没有)并选择Separate Closing tagBefore, within, and after closing

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-15
      • 2011-08-27
      • 1970-01-01
      • 2011-04-03
      • 2011-05-23
      • 2014-03-11
      • 1970-01-01
      • 2011-11-04
      相关资源
      最近更新 更多