假设我有 2 个文件:
foo
bar
baz
和
123
456
f[want autocomplete here]
如果我输入1
第二个文件,Sublime 会建议123
. 但如果我输入f
它不会有任何建议。foo
如果我在第一个文件中,我希望它像它一样建议。
看起来这应该很简单(每个缓冲区都可以自动完成,因此搜索所有缓冲区不会那么难)但我一直无法找到执行此操作的插件。
假设我有 2 个文件:
foo
bar
baz
和
123
456
f[want autocomplete here]
如果我输入1
第二个文件,Sublime 会建议123
. 但如果我输入f
它不会有任何建议。foo
如果我在第一个文件中,我希望它像它一样建议。
看起来这应该很简单(每个缓冲区都可以自动完成,因此搜索所有缓冲区不会那么难)但我一直无法找到执行此操作的插件。
我已经实现了相同的想法并将其发布为一个包,因此可以使用包控制直接从 Sublime 中安装它:
按 ctrl+shift+p(Windows、Linux)或 cmd+shift+p(OS X)打开命令面板。开始输入“安装”以选择“包控制:安装包”,然后搜索 AllAutocomplete 并选择它。
我写了一个插件来做到这一点:
import sublime_plugin, sublime
class AutocompleteAll(sublime_plugin.EventListener):
def on_query_completions(self, view, prefix, locations):
window = sublime.active_window()
# get results from each tab
results = [v.extract_completions(prefix) for v in window.views() if v.buffer_id() != view.buffer_id()]
results = [(item,item) for sublist in results for item in sublist] #flatten
results = list(set(results)) # make unique
results.sort() # sort
return results