Visual Studio 2010中的HTML格式

Adr*_*ore 15 html asp.net visual-studio-2010 visual-studio

每当我使用Ctrl-K重新格式化Visual Studio中的html源代码时,按Ctrl-D格式化我的源代码如下:

<p>
    text</p>
<p>
    more text</p>
Run Code Online (Sandbox Code Playgroud)

我怎样才能使用以下格式?

<p>
    text
</p>
<p>
    more text
</p>
Run Code Online (Sandbox Code Playgroud)

我知道选项 - >文本编辑器 - > Html - >格式化中有设置,但我找不到合适的设置.

谢谢,

阿德里安

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

Wal*_*shi 19

这个问题与ReSharper无关.这是Visual Studio源格式化程序设计的一项功能,它将尝试不更改由于您指定的格式化选项而导致的元素语义.

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

从而:

<p>content</p>
Run Code Online (Sandbox Code Playgroud)

将产生:

<p>
   content</p>
Run Code Online (Sandbox Code Playgroud)

虽然(注意内容和结束p标签之间明确包含空格):

<p>content </p>
Run Code Online (Sandbox Code Playgroud)

将产生:

<p>
   content
</p>
Run Code Online (Sandbox Code Playgroud)

这一点在Scott Guthrie 的博客文章中从底部的第3段中进行了讨论.从附加链接部分正上方的段落开始计算.


SLa*_*aks 9

单击工具,选项,文本编辑器,HTML,格式,标记特定选项.
p(如果它不存在)添加新的客户端标记并选择Separate Closing tagBefore, within, and after closing.