Форматирование HTML в Visual Studio 2010
Всякий раз, когда я переформатирую исходный код html в Visual Studio с помощью Ctrl-K, Ctrl-D форматирует мой исходный код следующим образом:
<p>
text</p>
<p>
more text</p>
Как я могу заставить использовать следующий формат?
<p>
text
</p>
<p>
more text
</p>
Я знаю, что есть параметры в Options- > Text Editor → Html → Formatting, но я не нашел подходящего там.
Спасибо,
Адриан
Изменить: Я проверил тег-специфические настройки, а разрыв страницы для p-тегов установлен на "Перед открытием, внутри и после закрытия". Кроме того, небольшой предварительный просмотр показывает точно формат, который я хочу иметь. Но Visual Studio все еще делает это неправильно. Может ли это иметь какое-либо отношение к установке Resharper в моей системе?
Ответы
Ответ 1
Проблема не имеет ничего общего с ReSharper. Это особенность по дизайну Visual Studio Source Formatter, где он попытается не изменять семантику элемента из-за указанных вами опций форматирования.
Итак, вы указали, что хотите, чтобы p-теги имели разрывы в содержимом, но разрыв после тега ap изменил семантику содержимого в теге, таким образом, форматирование заканчивается тем, что положить закрывающий тег p сразу после содержание. Чтобы иметь закрывающий тег на отдельной строке, вам нужно явно добавить пробел непосредственно перед концом содержимого и закрывающим тегом.
Таким образом:
<p>content</p>
будет производить:
<p>
content</p>
Пока (обратите внимание на явное включение пробела между содержимым и закрывающим тегом p):
<p>content </p>
будет производить:
<p>
content
</p>
Об этом говорится в сообщении в блоге Скотта Гатри в третьем абзаце снизу. Начните считать из абзаца прямо над дополнительной ссылкой.
Ответ 2
Нажмите "Инструменты", "Параметры", "Текстовый редактор", "HTML", "Форматирование", "Тег".
Добавьте новый тег на стороне клиента для p
(если он еще не существует) и выберите Separate Closing tag
и Before, within, and after closing
.
Ответ 3
Проверьте Как изменить автоматическое форматирование HTML в Visual Studio 2008 2010