创建完成条目的基础并不复杂。现在需要用正确的值填充数组(这可以通过项目设置或解析其他文件来完成)。
import sublime
import sublime_plugin
# Your array, which contains the completions
arr = ["foo", "bar", "baz"]
class MyCompletionsListener(sublime_plugin.EventListener):
def on_query_completions(self, view, prefix, locations):
loc = locations[0]
# limit you completions scope
if not view.score_selector(loc, "text"):
return
completions = [(v + "\tYour Description", v) for v in arr]
return completions
OP备注:
答案如广告所示。然而,集成是如此无缝,以至于我有一段时间认为缺少了一些东西。如果上面的Python脚本位于右侧文件夹中,则会建议使用completions数组返回的所有补全(根据Sublime设置,可能需要使用
Ctrl+Space
). 同样值得注意的是:
-
这个
completions
可能是
None
,在这种情况下,他们只是不添加任何补全选项或2元组数组,其中第一个元素是描述(将显示在下拉菜单中并触发补全),第二个是值(即,如果选择补全,将输入的文本)。
-
这个
score_selector
方法可用于确定光标位置是否在给定的
scope
.