Arquivo de finalizações XML SublimeText

1

Aparentemente, não consigo que o preenchimento automático funcione em meus arquivos XML. Aqui está o meu arquivo xml.sublime-completions , que adicionei à pasta Usuário:

{
  "scope": "text.xml",
  "completions":
  [
    {
      "trigger": "t",
      "contents": "<Text id="$1"><![CDATA[$0]]></Text>"
    }
  ]
}

Agora, digitando t- < tab > no arquivo XML resulta apenas em < t > < / t >:

<?xml version="1.0" encoding="UTF-8"?>
<t></t>

Como eu começo a depurar isso?

    
por Alexei Danchenkov 23.04.2015 / 09:19

1 resposta

1

Aconteceu um pouco mais difícil do que eu esperava.

  1. Eu tinha o pacote Emmet instalado. Emmet tem suporte de preenchimento automático próprio, mas eu não consegui fazer cuspir a seqüência <![CDATA[...]]> que eu precisava.

  2. Por isso, desativei o preenchimento automático do Emmet para o escopo xml inserindo o seguinte em Emmet.sublime-settings :

    { "disable_tab_abbreviations_for_scopes": "text.xml" }

  3. Os próprios fragmentos sublimados usam <! [CDATA [...]] > sintaxe para as seqüências de substituição. Doh <! [CDATA [.. .]] tags não podem ser aninhadas . Ele não permite vários CDATA dentro de tags de 'conteúdo'.

  4. Agora, o autocompletar desejado funciona bem em xml.sublime-completions antigos bons:

    { "scope": "text.xml", "completions": [ { "trigger": "t", "contents": "<Text id="$1"><![CDATA[$0]]>/Text>" } ] }

por 23.04.2015 / 09:32