Sublime Text 2 - 从其他文件自动完成/建议

时间:2012-01-31 15:08:53

标签: sublimetext

说我有2个文件:

foo
bar
baz

123
456
f[want autocomplete here]

如果我在第二个文件中输入1,Sublime会建议123。但如果我输入f,它就不会提出任何建议。如果我在第一个文件中,我希望它建议foo

看起来这应该很简单(每个缓冲区都可以自动完成,所以搜索所有这些都不会那么难)但是我找不到这样做的插件。

2 个答案:

答案 0 :(得分:101)

我已经实现了相同的想法并将其作为一个包发布,因此可以直接从Sublime中使用Package Control进行安装:

按ctrl + shift + p(Windows,Linux)或cmd + shift + p(OS X)打开Command Pallete。开始输入“install”以选择“Package Control:Install Package”,然后搜索AllAutocomplete并选择它。

代码在这里:https://github.com/alienhard/SublimeAllAutocomplete

答案 1 :(得分:16)

我写了一个执行此操作的插件:

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