每当我在 Visual Studio 中使用 Ctrl-K、Ctrl-D 重新格式化 html 源代码时,它都会像这样格式化我的源代码:
<p>
text</p>
<p>
more text</p>
如何让它使用以下格式?
<p>
text
</p>
<p>
more text
</p>
我知道在选项-> 文本编辑器-> Html -> 格式中有设置,但我找不到合适的设置。
谢谢,
阿德里安
编辑:我检查了特定于标签的设置,p 标签的分页符设置为“打开之前、之内和关闭之后”。此外,小预览显示了我想要的格式。但是 Visual Studio 还是做错了。这与我的系统上安装的 Resharper 有什么关系吗?
最佳答案
问题与 ReSharper 无关。这是 Visual Studio Source Formatter 设计的一项功能,它会尝试不根据您指定的格式化选项更改元素的语义。
因此,您指定希望 p 标签在内容中有中断,但是 p 标签之后的中断会改变标签内内容的语义,因此格式化程序最终将结束 p 标签放在内容。要将结束标记放在单独的行上,您需要在内容结尾和结束标记之前明确添加一个空格。
因此:
<p>content</p>
将产生:
<p>
content</p>
虽然(注意在内容和结束 p 标签之间明确包含一个空格):
<p>content </p>
将产生:
<p>
content
</p>
这在 blog post 中进行了讨论由 Scott Guthrie 在倒数第 3 段中撰写。从附加链接部分正上方的段落开始计数。
关于asp.net - Visual Studio 2010 中的 HTML 格式化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4639606/