在每个标记属性上中断行并在Visual Studio HTML代码编辑器中保持它们对齐

问题描述 投票:21回答:5

如果你想在VS的下一个版本中看到这个,请投票给它here


假设以下横向冗长的<button> HTML声明:

<button type="submit" class="btn btn-primary" id="save" name="action:@ViewContext.RouteData.Values["action"]"><i class="icon-save icon-large"></i> @Localization.Save</button>

如您所见,所有标记属性都是内联的,以便它们在代码编辑器中向右延伸很长时间......

您是否知道任何允许使用Ctrl + K格式化的Visual Studio选项或扩展名,然后按Ctrl + F进行格式化:

<button type="submit"
        class="btn btn-primary"
        id="save"
        name="action:@ViewContext.RouteData.Values["action"]">
<i class="icon-save icon-large"></i>@Localization.Save
</button>

我认为上面的格式可以很容易地发现给定的属性,虽然它会明显使垂直滚动条更长一些。 :)

我尝试在TOOLS => Options... => Text Editor => HTML中摆弄Visual Studio选项,但没有找到控制此行为的选项。

当然我可以手动对齐但是如果我按Ctrl + K然后按Ctrl + F我会丢失所有自定义格式。

如果没有这样的东西可用,我认为这对于Visual Studio扩展来说是个好主意。作为一个加号,它甚至可以按字母顺序排列属性。 :)


多做一点谷歌搜索我发现Visual Studio中的XAML编辑器具有HTML编辑器中我想要的内容:

Position each attribute on a separate line


我在Visual Studio Extensibility论坛上问了同样的问题:

http://social.msdn.microsoft.com/Forums/en-US/vsx/thread/0d97c205-9f29-4ba7-9d0b-253413077dce/


如果你想在VS的下一个版本中看到这个,请投票给它here

html visual-studio tags formatting line-breaks
5个回答
2
投票

如果您觉得自己很勇敢,可以编写一个编辑器扩展程序来为您执行此操作。看看Noah刚才写的对齐扩展的想法:https://github.com/NoahRic/AlignAssignments


7
投票

好吧,我在ASP.NET论坛上找到了一个技巧:

Positioning each attribute on a separate line

它不像我的问题中描述的XAML功能,但它的工作原理。

在选项/文本编辑器/ HTML /格式中,您可以选中“超过特定长度时换行标签”并将长度设置为1.这将导致格式化程序像疯了一样换行。


另一种选择是:

  1. 转到TOOLS => Options... => Text Editor => XML => Formatting =>将每个属性对齐在一个单独的行上。
  2. 关闭.cshtml文件。在解决方案资源管理器中右键单击它并选择打开方式...然后选择XML(文本)编辑器。选择所有内容并按Ctrl + K然后按Ctrl + F. *这第二个选项很乏味! :(

1
投票

这已在Visual Studio 2013 Preview中的新HTML编辑器中实现,该编辑器已发布。这是新编辑器的一个功能,适用于html和cshtml文件,但不适用于aspx / ascx文件。如果在每个值之后按[return],属性将叠加在第一个属性定义下。格式文档不再撤消这些更改。


0
投票

你可以用<查找/替换/n< +别忘了点击Use Regular Expressions设置


0
投票

将html复制到xml编辑器,让它为您格式化,然后将其保存回html文件

© www.soinside.com 2019 - 2024. All rights reserved.