Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net VisualStudio2010中的HTML格式_Asp.net_Html_Visual Studio_Visual Studio 2010 - Fatal编程技术网

Asp.net VisualStudio2010中的HTML格式

Asp.net VisualStudio2010中的HTML格式,asp.net,html,visual-studio,visual-studio-2010,Asp.net,Html,Visual Studio,Visual Studio 2010,每当我在Visual Studio中使用Ctrl-K和Ctrl-D重新格式化html源代码时,它都会将我的源代码格式化如下: <p> text</p> <p> more text</p> 正文 更多文本 我如何让它使用以下格式 <p> text </p> <p> more text </p> 文本 更多文本 我知道在选项->文本编辑器->Html->

每当我在Visual Studio中使用Ctrl-K和Ctrl-D重新格式化html源代码时,它都会将我的源代码格式化如下:

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

正文

更多文本

我如何让它使用以下格式

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

文本

更多文本

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

谢谢

阿德里安


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

单击工具、选项、文本编辑器、HTML、格式、标记特定选项。

p
添加一个新的客户端标记(如果它还没有),并选择
在关闭之前、之内和之后分开关闭标记

检查此项

该问题与重新竖琴无关。这是VisualStudio源格式化程序设计的一个功能,它将尝试不因您指定的格式化选项而更改元素的语义

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

因此:

内容

将产生:

<p>
   content</p>
<p>
   content
</p>

内容

While(注意在内容和结束p标记之间显式包含空格):

内容

将产生:

<p>
   content</p>
<p>
   content
</p>

内容


斯科特·古思里(Scott Guthrie)在底部第3段的一篇文章中对此进行了讨论。从附加链接部分正上方的段落开始计数。

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