自动完成文件
另请参阅
自动完成 : 介绍不同类型的自动完成
自动完成并不局限于自动完成文件,因为其他来源也会为自动完成列表提供贡献(见上文)。但是,Sublime Text 提供给您最明确的方式来提供自动完成是通过 .sublime-completions
文件。
本主题仅讨论 .sublime-completions
文件的格式。
文件格式
自动完成是具有 .sublime-completions
扩展名的 JSON 文件。自动完成文件中的条目可以包含类似片段的字符串或纯文本。
示例
以下是一个示例(包含 HTML 自动完成)
json
{
"scope": "text.html - source - meta.tag, punctuation.definition.tag.begin",
"completions":
[
{ "trigger": "a", "contents": "<a href=\"$1\">$0</a>" },
{ "trigger": "abbr\t<abbr>", "contents": "<abbr>$0</abbr>" },
{ "trigger": "acronym", "contents": "<acronym>$0</acronym>" }
]
}
scope : 确定何时使用此自动完成列表填充自动完成列表。
有关更多信息,请参阅 范围。
completions : 自动完成 数组。
自动完成类型
纯字符串
纯字符串等效于条目,其中 trigger
与 contents
相同
json
"foo"
// is equivalent to:
{ "trigger": "foo", "contents": "foo" }
基于触发器的自动完成
json
{ "trigger": "foo", "contents": "foobar" },
{ "trigger": "foo\ttest", "contents": "foobar" }
trigger : 在自动完成列表中显示的文本,当选择时将导致插入 contents
。
您可以使用 \t
制表符字符为前面的触发器添加一个注释。注释将右对齐显示,略微灰显,并且不会影响触发器本身。
contents : 要插入到缓冲区中的文本。支持与片段相同的字符串插值功能。
请参阅 片段功能。
提示
如果您想要一个字面上的 $
,您必须对其进行转义,如下所示:\\$
(由于我们在 JSON 字符串中,因此需要双反斜杠)。