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

Len*_*rri 21 html tags formatting line-breaks visual-studio

如果您希望在下一版VS中实现此功能,请在此处投票.


假设以下水平冗长的<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>
Run Code Online (Sandbox Code Playgroud)

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

您知道任何Visual Studio选项或扩展,允许使用Ctrl+ K然后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>
Run Code Online (Sandbox Code Playgroud)

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

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

当然我可以手动对齐它然后如果我按Ctrl+ K然后Ctrl+ F错误我丢失所有自定义格式.

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


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

将每个属性放在单独的行上

在此输入图像描述


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

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


如果您希望在下一版VS中实现此功能,请在此处投票.

Len*_*rri 7

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

将每个属性定位在单独的行上

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

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


另一种选择是:

  1. 转到TOOLS => Options... => Text Editor => XML => Formatting=>在单独的行上对齐每个属性.

  2. 关闭.cshtml文件.在解决方案资源管理器中右键单击它并选择打开方式...然后选择XML(文本)编辑器.选择所有内容,然后执行Ctrl+ K然后Ctrl+ F.

    *这第二个选项很乏味!:(


Ame*_*een 2

如果您足够勇敢,您可以编写一个编辑器扩展来为您完成此操作。看一下 Noah 不久前写的对齐扩展以获取想法:https://github.com/NoahRic/AlignAssignments