无法获得自动完成文件,以及如何将其范围用于ALL文件或EITHER Java或JavaScript?

时间:2014-09-26 18:07:20

标签: sublimetext2 sublimetext sublimetext3

我刚开始使用Sublime Text 3,我无法使用我的第一个自动完成文件。我也不了解如何为scope工作      - 任何文件类型,或      - 多种类型的文件,例如 Java或JavaScript


关注these instructions后,我创建了一个名为

的文件

C:\Users\jeffy\AppData\Roaming\Sublime Text 3\Packages\User\sublime_specific.sublime-completions

使用此文本

{
   "scope": "text.plain",

   "completions":
   [
      { "trigger": "sublime", "contents": "sublime.log_commands(${1:True})" },
      { "trigger": "sublime", "contents": "sublime.log_input(${1:True})" },
      { "trigger": "view", "contents": "view.run_command('$1')" },
   ]
}

然后我打开一个新文档,将其保存为temp.txt,然后开始输入" sublime"或者"查看"。但是,即使我点击了" auto_complete"密钥命令。


如何使此自动完成工作正常,以及如何设置范围,因此它适用于任何类型的文件,或 (例如) Java或JavaScript文件?

感谢。

1 个答案:

答案 0 :(得分:2)

您需要删除,行之后的最后一个逗号"view",因为它不是有效的JSON。有了它,它会导致解析错误(如果你检查控制台你应该看到),并且完成没有被读入内存。

至于范围界定,识别多个范围非常简单。如果您想在任何地方完成工作,只需设置

即可
"scope": "source, text"

对于多种语言,请使用

"scope": "source.java, source.javascript"

您可以通过用空格分隔子范围来定义子范围

"scope": "source.python meta.structure.list"

您可以使用-运算符

删除范围
"scope": "source - comment"