更新
我正在使用 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" }
]
}