Visual Studio 2010 中的 HTML 格式化

15

每次我在Visual Studio中使用Ctrl-K,Ctrl-D重新格式化HTML源代码时,它会将我的源代码格式化为这样:

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

我该如何使其使用以下格式?

<p>
    text
</p>
<p>
    more text
</p>
我知道在“选项”->“文本编辑器”->“Html”->“格式”中有设置,但我没有找到合适的设置。谢谢Adrian。
编辑:我已经检查了标签特定的设置,p标签的分页设置为“在开头之前,在结尾之后以及内部”。此外,预览显示了我想要的确切格式。但是Visual Studio仍然做错了。这是否与我系统上安装的Resharper有关?
3个回答

19
问题与ReSharper无关。这是Visual Studio源代码格式化器的一项设计特性,它将尝试不更改元素的语义,以遵循您指定的格式选项。
因此,您指定了希望在p标记内部具有分段符,但在p标记后面插入分段符会更改标记内部内容的语义,因此格式化程序会将关闭p标记放在内容之后。如果要将关闭标记放在单独的一行上,则需要在内容结尾和关闭标记之前显式添加一个空格。
因此:
<p>content</p>

将会产生:

<p>
   content</p>

当(注意内容和结束p标签之间有一个空格的显式包含):

<p>content </p>

将会产生:

<p>
   content
</p>
这个问题在Scott Guthrie的一篇博客文章中有讨论,该文章链接如下:blog post,需要从底部第三段开始计数,不包括附加链接部分上面的那一段。

p 元素后添加一个空格为什么会改变语义? 浏览器是否会不同对待这些情况? - knut
有没有插件可以解决这个问题?我认为这个空间问题只会影响IE6布局,并且我希望它可以正确格式化代码。 - Adam Gordon Bell

9

点击工具,选项,文本编辑器,HTML,格式化,标签特定选项。
p添加一个新的客户端标签(如果还没有),并选择分开的结束标记在关闭前、内部和之后



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接