Разделите строку на каждый атрибут тега и сохраните их в редакторе HTML-кода 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>

Как вы видите, все атрибуты тегов встроены таким образом, что они расширяют длинный путь вправо в редакторе кода...

Знаете ли вы о какой-либо опции или расширении 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>

Я думаю, что вышеупомянутый формат позволяет легко определить данный атрибут, хотя он явно сделает вертикальную полосу прокрутки немного дольше.:)

Я пробовал использовать опции Visual Studio в TOOLS => Options... => Text Editor => HTML, но не нашел возможности для контроля этого поведения.

Конечно, я могу выровнять его вручную, но если я удалю Ctrl + K, а затем Ctrl + F по ошибке, я потеряю все сделанные на заказ форматирование.

Если нет такой вещи, я думаю, что это отличная идея для расширения Visual Studio. В качестве плюса он может даже в алфавитном порядке упорядочить атрибуты.:)


Сделав немного больше Googling, я обнаружил, что редактор XAML в Visual Studio имеет то, что я хотел бы иметь в редакторе HTML:

Поместить каждый атрибут в отдельной строке

enter image description here


Я задал этот же вопрос на форуме Visual Studio Extensibility:

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


Если вы хотите, чтобы это было реализовано в следующей версии VS, проголосуйте за него здесь.

Ответы

Ответ 1

Если вы чувствуете смелость, вы можете написать расширение редактора, которое сделает это за вас. Взгляните на выравнивающее расширение, которое Noah написал некоторое время назад для идей: https://github.com/NoahRic/AlignAssignments

Ответ 2

Ну, я нашел трюк на форумах ASP.NET:

Позиционирование каждого атрибута в отдельной строке

Это не похоже на функцию XAML, описанную в моем вопросе, но она работает.

В Options/Text Editor/HTML/Format вы можете проверить "Wrap tags, когда превышающей определенную длину" и установить длину до 1. Это приведет к форматировать, чтобы обернуться как сумасшедший.


Другой вариант:

  • Перейдите к TOOLS => Options... => Text Editor => XML => Formatting = > Выровняйте атрибуты в отдельной строке.

  • Закройте файл .cshtml. Щелкните правой кнопкой мыши его в обозревателе решений и выберите "Открыть с помощью...", затем выберите редактор XML (текст). Выберите все содержимое и сделайте Ctrl + K, затем Ctrl + F.

    * Этот второй вариант утомительный!:(

Ответ 3

Это было реализовано в новом редакторе HTML в Visual Studio 2013 Preview, который был выпущен. Это особенность только нового редактора, который работает для файлов html и cshtml, но не для файлов aspx/ascx. Если вы нажмете [return] после каждого значения, атрибуты будут складываться под первым определением атрибута. Формат документа больше не отменяет эти изменения.