Есть ли в HTML функция авто-отступа или плагин для Sublime Text (он же prettify/beautify/format)?
Например, что-то изменить:
<section><article><h1></h1><p></p></article></section>
чтобы:
<section>
<article>
<h1></h1>
<p></p>
</article>
</section>
... это работает на полных страницах и фрагментах.
- Встроенный
Edit > Line > Reindent
настройка не делает этого - Плагин HTMLTidy добавляет
head
а такжеbody
теги, поэтому он не работает для частичных, у него также есть различные другие проблемы - Плагин Tag имеет различные проблемы, достаточно того, что он по сути не работает
- Плагин HTMLPrettify имеет различные проблемы, требует node.js и не обновлялся месяцами.
- gist.github.com/mcdonc/3898894 утверждает, что делает это, но требует Emacs
(Notepad ++ имел авто-отступ, Dreamweaver имел Применить форматирование исходного кода, Aptana имеет формат и т. Д.)
Плагин Tag неправильно обрабатывает встроенные теги, например, используя его в следующем фрагменте:
<p>foo<a>bar<span>baz<span>qux</span></span></a></p>
результаты в:
<p>
foo
<a>
bar
<span>
baz
<span>qux</span>
</span>
</a>
</p>
4 ответа
reindent
не всегда работает для фрагментов кода. Вы можете использовать Tag
Плагин (установить из пакета управления). Затем просто нажмите Ctrl + Shift + P, и введите tag
, Вы увидите вариант Auto-Format tags on document
, Выберите и нажмите Enter. Это сделает это.
Выберите All -> Edit menu -> Line -> Reindend. Вы можете установить комбинацию клавиш для того же использования.
{"keys": ["ctrl + shift + r"], "command": "reindent", "args": {"single_line": false}}
JsPrettier — это плагин для Prettier, настраиваемого форматировщика кода.
Для того, чтобы функция Reindent работала, вы должны снять флажок "Indent Using Spaces":
Вид >> Отступ >> Отступ с использованием пробелов
После того, как эта опция была снята, вы можете выбрать свой текст и переосмыслить:
Редактировать >> Строка >> Перерасчет
Это будет работать как для синтаксиса HTML, так и для XML. Не проверено ни на каких других.