在HTML属性中,SublimeText完成失败

时间:2015-04-23 20:06:01

标签: html autocomplete sublimetext emmet

使用.sublime-completions文件完成SublimeText无法在引号内的HTML属性上工作。在test属性内键入触发器(下例中的alt="")不会插入完成。它在图像标记之外没有问题。有什么建议吗?

引号内的范围与以下html-attr.sublime-completions文件中的定义相匹配:text.html.basic meta.tag.inline.any.html string.quoted.double.html punctuation.definition.string.end.html

<body>
  <img src="/images/poster.jpg" alt="">
</body>

我正在使用.sublime-completions文件:

// html-attr.sublime-completions 
{
  "scope": "text.html.basic meta.tag.inline.any.html string.quoted.double.html punctuation.definition.string.end.html",
  "completions":
  [
    {
      "trigger": "test",
      "contents": "test ok"
    }
  ]
}

其他安装的软件包包括Emmet,HTML5,Better Completion,HTMLAttributes和SublimeCodeIntel,但是禁用所有软件包对这种情况没有帮助。

// Preferences.sublime-settings
{
    "auto_complete": true,
}

更新

Emmet可能是罪魁祸首,但不是我的情况。除非为相应的范围禁用Emmet的tab_abbreviation,否则Emmet会覆盖.sublime-completions文件定义的完成次数:

// Emmet.sublime-settings
"disable_tab_abbreviations_for_scopes": "text.html.basic"

我使用.sublime-snippet暂时解决了这个问题,但它并没有很好地处理XML文件。仍在寻找上述问题的答案。

<!-- html-attr.sublime-snippet -->
<snippet>
  <content>test ok</content>
  <tabTrigger>test</tabTrigger>
  <scope>text.html.basic</scope>
  <description>html-attr.sublime-completion does not work</description>
</snippet>

0 个答案:

没有答案