假设以下横向冗长的<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/
如果您觉得自己很勇敢,可以编写一个编辑器扩展程序来为您执行此操作。看看Noah刚才写的对齐扩展的想法:https://github.com/NoahRic/AlignAssignments
好吧,我在ASP.NET论坛上找到了一个技巧:
Positioning each attribute on a separate line
它不像我的问题中描述的XAML
功能,但它的工作原理。
在选项/文本编辑器/ HTML /格式中,您可以选中“超过特定长度时换行标签”并将长度设置为1.这将导致格式化程序像疯了一样换行。
另一种选择是:
TOOLS => Options... => Text Editor => XML => Formatting
=>将每个属性对齐在一个单独的行上。这已在Visual Studio 2013 Preview中的新HTML编辑器中实现,该编辑器已发布。这是新编辑器的一个功能,适用于html和cshtml文件,但不适用于aspx / ascx文件。如果在每个值之后按[return],属性将叠加在第一个属性定义下。格式文档不再撤消这些更改。
你可以用<
查找/替换/n<
+别忘了点击Use Regular Expressions设置
将html复制到xml编辑器,让它为您格式化,然后将其保存回html文件