O Textmate pode indentar bem o HTML?


17

O Textmate tem uma função para recuar bem o HTML?

O HTML Tidy o identifica - mas também parece excluir as tags. (Este HTML não é completamente adequado, mas ainda assim!)

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

Pode dar um exemplo de html onde as tags são excluídos como este é surpreendente
user151019

@Mark: Atualizado com código
Casebash 16/10/10

@Casebash Tentei arrumar o seu código e, para mim, apenas adicionou tags. Copypastecode.com/46216
Robert S Ciaccio

@calvera: verifique se o seu tipo de documento está definido como HTML, não como texto simples
Casebash 17/10/10

3
@ Casebash: foi definido como html ... FYI, pelo que me lembro sobre o plug-in Tidy para o Notepad ++, ele é configurado através de um arquivo de texto. Talvez haja algo errado com a configuração do Tidy.
Robert S Ciaccio 20/10/10

Respostas:


20

Você pode pressionar + Apara selecionar tudo Text->Indent Selection.


Anos de TextMate e nunca visto ou usado esse recurso ... \ o /
brasofilo

Infelizmente, essa não é uma formatação XML completa: mantém linhas indentadas e não divide as tags na mesma linha em linhas separadas. Usando o Textmate 2.0-rc.4.
Alexander Klimetschek 22/03

13

Você pode usar Bundles > HTML > Tidyou o atalho ctrl+ + H.


3
O Tidy não apenas recua - também parece excluir partes dele!
Casebash 16/10/10

1
A pergunta era sobre recuar e não arrumar
tig

A organização também falha quando há alguns problemas, como nomes de elementos desconhecidos.
Alexander Klimetschek 22/03

1

Eu gostaria de salientar algo que cruza um pouco as outras respostas:

Se você selecionar o texto que deseja formatar (ou recuperar), o TextMate aplicará ações específicas apenas a ele. Portanto, se você CMD+ Aaplicar o seu documento e aplicar o Tidy (no menu Bundles> HTML ou com o atalho CTRL+ SHIFT+ H), ele fará apenas recuo, ignorando alertas nas validações (que às vezes são desnecessárias, pois podemos estar trabalhando nos trechos de página )


0

Você pode usar o Xcode ou o Dashcode, se instalar as Ferramentas do desenvolvedor. Eles são fornecidos gratuitamente nos discos de instalação que acompanham o seu computador. Eu acredito que o Xcode e o Dashcode têm destaque de sintaxe.

Se você quer um software realmente bom, adquira o Coda. É um pouco caro em US $ 100, mas eu definitivamente diria que vale a pena. Possui destaque de sintaxe e (a grande parte para mim) preenchimento automático.


0

Sim. A chamada Tidy no pacote HTML incorporado do TextMate pode lidar com o seu HTML.

Pacotes do TextMate -> HTML -> Tidy produz:

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

No seu código de exemplo. Nada desapareceu. Você também recebe os seguintes avisos:

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

O problema que tive com a Text -> Indent Selectionsolução interna ou Tidy é que ela não funciona bem com código HTML parcial. Isso é importante, por exemplo, ao editar no WordPress ou ao trabalhar com parciais no Ruby on Rails.

A solução que funcionou para mim foi adicionar um comando ao pacote com um script Perl personalizado de John Watson que encontrei aqui: http://snipplr.com/view.php?codeview&id=28256

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.