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

如果你希望在下一个版本的 VS 中实现这一点,请投票

<小时>

如果你希望在下一个版本的 VS 中实现这一点,请投票 这里.

解决方案

如果你觉得勇敢,你可以编写一个编辑器扩展来为你做这件事.看看 Noah 前​​段时间为想法编写的 align 扩展:https://github.com/NoahRic/AlignAssignments

If you'd like to see this implemented in the next version of VS, please vote for it here.


Suppose the following horizontally lengthy <button> HTML declaration:

<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>

As you see all tag attributes are inline such that they extend a long way to right in the code editor...

Do you know of any Visual Studio option or extension that allows it to be formatted with Ctrl + K then Ctrl + F like this:

<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>

I think the above format makes it easy to spot a given attribute although it'll clearly make the vertical scroll-bar a little longer. :)

I tried fiddling with Visual Studio options in TOOLS => Options... => Text Editor => HTML but didn't find an option to control this behavior.

Of course I can align it manually but then if I hit Ctrl + K then Ctrl + F by mistake I lose all the custom made formatting.

If there's no such a thing available, I think this makes a great idea for a Visual Studio extension. As a plus it could even alphabetically order the attributes. :)


Doing a little bit more Googling I found that the XAML editor in Visual Studio has what I'd like to have in the HTML editor:

Position each attribute on a separate line


I asked this same question at the Visual Studio Extensibility forum:

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


If you'd like to see this implemented in the next version of VS, please vote for it here.

解决方案

If you feel brave, you can write an editor extension that does this for you. Take a look at the align extension that Noah wrote a while ago for ideas: https://github.com/NoahRic/AlignAssignments

相关文章