Сможет ли Textmate сделать отступ в HTML?

17

Есть ли в Textmate функция для создания отличного отступа в HTML?

HTML Tidy делает отступ, но, похоже, удаляет и теги. (Это не совсем правильный HTML, но все же!)

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:tal="http://xml.zope.org/namespaces/tal" xmlns:metal="http://xml.zope.org/namespaces/metal">
    <head>
        <title></title>
    <script type="text/javascript" src="http://www.speechapi.com/static/lib/swfobject.js"></script>
    <script type="text/javascript" src="http://www.speechapi.com/static/lib/speechapi-1.1.js"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<body>
    <!-- All above disappears -->       
    <p>Test</p>
    <!-- All below disappears-->
</body>
</html>
Casebash
источник
Можете ли вы привести пример HTML, где теги удаляются, как это удивительно
user151019
@Mark: обновлено кодом
Casebash
@Casebash Я попробовал Tidy с вашим кодом и для меня он добавил только теги. copypastecode.com/46216
Роберт С. Чаччо
@calvera: убедитесь, что ваш тип документа установлен на HTML, а не на обычный текст
Casebash
3
@Casebash: было установлено значение html ... Кстати, из того, что я помню о плагине Tidy для Notepad ++, он настроен с помощью текстового файла. Так что, возможно, что-то не так с конфигурацией Tidy.
Роберт С Чаччо

Ответы:

20

Вы можете нажать +, Aчтобы выбрать все затем Text->Indent Selection.

Джеймс Мур
источник
Годы TextMate и никогда не видел и не использовал эту функцию ... \ o /
brasofilo
К сожалению, это не полное форматирование XML: оно хранит строки с ошибками и не разделяет теги в одной строке на отдельные строки. Использование TextMate 2.0-RC.4.
Александр Климетчек
13

Вы можете использовать Bundles > HTML > Tidyили сочетание клавиш ctrl+ + H.

Лоик Вольф
источник
3
Tidy не только делает отступ, но и удаляет его части!
Casebash
1
Вопрос был о том, чтобы сделать отступ, а не убирать
tig
Приведение в порядок также не удается, когда есть некоторые проблемы, такие как неизвестные имена элементов.
Александр Климетчек,
1

Я хотел бы указать на то, что немного пересекает другие ответы:

Если вы выберете текст, который хотите отформатировать (или переопределить), TextMate будет применять только определенные действия. Таким образом, если вы CMD+ Aваш документ, а затем применили Tidy (либо из меню «Связки> HTML», либо с помощью CTRL+ SHIFT+ H), он будет в основном выполнять только отступы, пропуская оповещения о проверках (что иногда не требуется, поскольку мы можем работать с фрагментами страницы). ).

mcdado
источник
0

Вместо этого вы можете использовать Xcode или Dashcode, если устанавливаете Инструменты разработчика. Они предоставляются бесплатно на установочных дисках, которые поставляются с вашим компьютером. Я считаю, что Xcode и Dashcode имеют подсветку синтаксиса.

Если вы хотите действительно хорошее программное обеспечение, приобретите Coda. Это немного дорого в 100 долларов, но я бы определенно сказал, что оно того стоит. У него есть подсветка синтаксиса и (большая часть для меня) автозаполнение.

daviesgeek
источник
0

Да. Вызов Tidy во встроенном HTML-пакете TextMate может работать с вашим HTML.

Пакеты TextMate -> HTML -> Tidy создает:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:tal="http://xml.zope.org/namespaces/tal" xmlns:metal="http://xml.zope.org/namespaces/metal">
    <head>
        <title></title>
        <script type="text/javascript" src="http://www.speechapi.com/static/lib/swfobject.js">
</script>
        <script type="text/javascript" src="http://www.speechapi.com/static/lib/speechapi-1.1.js">
</script>
        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js">
</script>
    </head>
    <body>
        <!-- All above disappears -->
        <p>
            Test
        </p><!-- All below disappears-->
    </body>
</html>

На вашем примере кода. Ничего не пропало. Вы также получаете следующие предупреждения:

line 1 column 1 - Warning: missing <!DOCTYPE> declaration
line 2 column 5 - Warning: <body> isn't allowed in <head> elements
line 1 column 1 - Warning: <html> proprietary attribute "xmlns:tal"
line 1 column 1 - Warning: <html> proprietary attribute "xmlns:metal"
Ян С.
источник
0

Проблема, с которой я столкнулся при использовании встроенного Text -> Indent Selectionили Tidy-решения, заключается в том, что оно не очень хорошо работает с частичным HTML-кодом. Это, например, важно при редактировании в WordPress или работе с частями в Ruby on Rails.

Решение, которое сработало для меня, состояло в том, чтобы добавить команду в комплект с пользовательским сценарием Perl Джона Уотсона, который я нашел здесь: http://snipplr.com/view.php?codeview&id=28256

Джесси Дедекер
источник