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

时间:2017-10-31 15:44:28

标签: autocomplete sublimetext3

Sublime Text documentation清楚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>" }
   ]
}

1 个答案:

答案 0 :(得分:1)

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

为了完成纯文本的完成,您需要将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>" }
   ]
}

请注意,除了文件的位置外,扩展名也很重要,否则Sublime将无法知道它应包含的内容。