23

Например, что-то изменить:

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

3 ответа3

18

reindent не всегда работает для фрагментов. Вы можете использовать плагин Tag (установить из пакета управления). Затем просто нажмите Ctrl+Shift+P и введите tag . Вы увидите опцию Auto-Format tags on document . Выберите и нажмите Enter . Это сделает это.

6

Выберите All -> Edit menu -> Line -> Reindend . Вы можете установить комбинацию клавиш для того же использования.

{"keys": ["ctrl+shift+r"], "command": "reindent", "args": {"single_line": false}}

0

Для того, чтобы функция Reindent работала, вы должны снять флажок "Indent Using Spaces":

Вид >> Отступ >> Отступ с использованием пробелов

После того, как эта опция была снята, вы можете выбрать свой текст и переосмыслить:

Редактировать >> Строка >> Пересчитать

Это будет работать как для синтаксиса HTML, так и для XML. Не проверено ни на каких других.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .