Visual Studio 2010 中的 HTML 格式
Posted
技术标签:
【中文标题】Visual Studio 2010 中的 HTML 格式【英文标题】:HTML formatting in Visual Studio 2010 【发布时间】: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 有什么关系吗?
【问题讨论】:
【参考方案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】:
查看How Change Auto Formatting HTML In Visual Studio 2008 2010
【讨论】:
【参考方案3】:单击工具、选项、文本编辑器、HTML、格式、标签特定选项。
为p
添加一个新的客户端标签(如果它还没有)并选择Separate Closing tag
和Before, within, and after closing
。
【讨论】:
以上是关于Visual Studio 2010 中的 HTML 格式的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 2010 Professional 中的 /analyze 标志