Есть ли в 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. Не проверено ни на каких других.

Другие вопросы по тегам