asp.net - Visual Studio 2010 中的 HTML 格式化

标签 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 -> 格式中有设置,但我找不到合适的设置。

谢谢,

阿德里安

编辑:我检查了特定于标签的设置,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/

相关文章:

javascript - html 图像的奇怪压缩

c# - PostSharp 冲突方面警告

c# - 停止 SoundEffect 循环

javascript - 显示和隐藏带链接的 div

asp.net - 最佳 ASP.net 所见即所得

asp.net - Blazor WASM 授权不适用于 AAD 角色

c# - 用于有条件地呈现嵌套 HTML 的简单用户控件

android - HTML5 视频不会在 Android 设备上循环播放

regex - 正则表达式快速更新代码

c# - ASP.NET MVC 4 模型绑定(bind)问题