在 mac 上创建一个 Sublime Text 3 .sublime-completions 自动完成文件

Myo*_*age 2 autocomplete sublimetext3

Sublime Text文档清楚地说明了 HTML 的语法,但不清楚使用版本 3 为 mac 放置文件的位置。我想为纯文本生成我自己的自动完成。理想情况下,允许我通过可能的自动完成列表向下/向上箭头。

{
   "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>" }
   ]
}
Run Code Online (Sandbox Code Playgroud)

Oda*_*urd 9

所有包资源文件都需要存储在一个包中,以便 Sublime 能够找到并加载它。对于您自己的自定义,放置文件的适当位置位于您的User包中,您可以通过Preferences > Browse Packages菜单找到该位置Sublime Text > Preferences > Browse Packages。在 MacOS 上,该位置为.

为了对纯文本进行补全,您需要scope将 HTML 特定范围更改为纯文本范围。

为了确定您要应用的范围(这也包括键绑定、代码片段、构建系统等),您可以Tools > Developer > Show Scope Name从菜单中进行选择(请参阅分配给它的键绑定的菜单)以查看当前光标位置的完整范围是什么。

正如scope您在问题中提到的那样,范围可能非常复杂,以允许您根据需要拨入尽可能多的特异性。

对于简单纯文本的情况,正如我上面提到的命令所证明的那样,以下是设置为纯文本的示例补全:

{
   "scope": "text.plain",

   "completions":
   [
      { "trigger": "a", "contents": "<a href=\"$1\">$0</a>" },
      { "trigger": "abbr\t<abbr>", "contents": "<abbr>$0</abbr>" },
      { "trigger": "acronym", "contents": "<acronym>$0</acronym>" }
   ]
}
Run Code Online (Sandbox Code Playgroud)

请注意,除了文件的位置外,扩展名也很重要,否则 Sublime 将不知道它应该包含什么。