Problema ao criar as conclusões personalizadas para o texto sublime 3

0

ATUALIZADO

Estou trabalhando no desenvolvimento do Salesforce usando o plug-in MavensMate para o Sublime Text 3. Desejo criar um arquivo de conclusões personalizado que contenha alguns nomes de classe de tag HTML comuns que eu uso com frequência nas minhas páginas do Visualforce.

O Visualforce usa tags HTML normais, mas também possui tags personalizadas que se parecem com isso ...

<apex:tagName ... />

As páginas do Visualforce têm uma extensão de nome de arquivo "nome_do_arquivo.page". MavensMate usa o realce de sintaxe de HTML, e quando eu pressiono "ctrl + alt + shift + p" para obter o (s) seletor (es) de escopo mostra o mesmo que um arquivo HTML normal faria (ou seja, text.html.basic).

Eu posso fazer com que meu arquivo de conclusões funcione em uma página HTML normal fora das tags, mas não dentro de uma definição de classe em uma tag. Eu não consigo fazer isso funcionar em uma página do Visualforce.

Meu arquivo inicial baseou-se na documentação encontrada aqui .

{
   "scope": "text.html.basic",

   "completions":
   [
      { "trigger": "test\tTheTest", "contents": "this is a test" }
   ]
}

Infelizmente não consigo fazer funcionar. Eu tentei todas as permutações do escopo acima. Meu arquivo é chamado "test.sublime-completions" e está localizado no diretório Packages / User /. Tentei renomear para HTML.sublime-completion, html.sublime-completion.

Eu alterei o "auto_complete_selector" e o "auto_complete_triggers" para tentar resolver isso, mas ainda nada.

"auto_complete_selector": "source, text, string.quoted.double.html",
"auto_complete_triggers":
[
    {
        "characters": "<",
        "selector": "text.html",
        "selector": "string.quuoted.double.html"
    }
],

Eu fiz uma postagem nos fóruns do ST encontrados aqui mas ninguém respondeu. : (

Alguém pode lançar alguma luz sobre o que estou fazendo de errado e como posso resolver isso.

Como solução, eu posso criar "Snippets" para cada classe, mas parece mais apropriado fazer isso via Completions.

    
por Doug B 20.11.2015 / 03:21

1 resposta

1

Provavelmente, porque sua especificação de escopo é inválida. o seguinte funciona perfeitamente bem para mim:

{
   "scope": "text.html",

   "completions":
   [
      { "trigger": "test\tTheTest", "contents": "this is a test" }
   ]
}
    
por 20.11.2015 / 03:59