无法为 Sublime Text 3 创建自定义补全

无法为 Sublime Text 3 创建自定义补全

更新

我正在使用 Sublime Text 3 的 MavensMate 插件进行 Salesforce 开发。我想要创建一个自定义完成文件,其中将包含一些我在 Visualforce 页面中经常使用的常见 HTML 标签类名。

Visualforce 使用普通 HTML 标签,但也有类似这样的自定义标签...

<apex:tagName ... />

Visualforce 页面的文件扩展名为“filename.page”。MavensMate 使用 HTML 语法突出显示,当我按“ctrl+alt+shift+p”获取范围选择器时,它显示的内容与普通 HTML 文件相同(即 text.html.basic)。

我可以让我的完成文件在标签之外的普通 HTML 页面中工作,但不能在标签内的类定义中工作。我似乎无法让它在 Visualforce 页面中工作。

我的初始文件基于找到的文档这里

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

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

不幸的是我无法让它工作。我尝试了上述范围的所有排列。我的文件名为“test.sublime-completions”,位于 Packages/User/ 目录中。我尝试将其重命名为 HTML.sublime-completions、html.sublime-completions。

我已经更改了“auto_complete_selector”和“auto_complete_triggers”来尝试解决这个问题,但仍然没有结果。

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

我在 ST 论坛上发了一篇帖子,发现这里但没人回复。:(

谁能告诉我我做错了什么,以及如何解决这个问题。

作为一种解决方法,我可以为每个类制作片段,但通过完成来做到这一点似乎更合适。

答案1

这可能是因为您的范围规范无效。以下对我来说非常有效:

{
   "scope": "text.html",

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

相关内容