SublimeText XML 补全文件

SublimeText XML 补全文件

我显然无法让自动完成功能在我的 XML 文件中发挥作用。这是xml.sublime-completions我添加到 User 文件夹中的文件:

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

现在在 XML 文件中输入 t-<tab> 只会产生 <t></t>:

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

我该如何开始调试这个?

答案1

结果比我预想的要困难一些。

  1. 我安装了 Emmet 包。Emmet 有自己的自动完成支持,但我没能让它输出<![CDATA[...]]>我需要的序列。

  2. 因此,我通过插入以下内容禁用了 Emmet 的 xml 范围自动完成功能Emmet.sublime-settings

    { "disable_tab_abbreviations_for_scopes": "text.xml" }

  3. Sublime 代码片段本身使用 <![CDATA[...]]> 语法作为替换字符串。哎呀。<![CDATA[...]] 标签不能嵌套. 它也不允许在“内容”标签内有多个 CDATA。

  4. 现在,所需的自动完成功能可以在旧的 xml.sublime-completions 中很好地运行:

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

相关内容