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

noa*_*oah 39 sublimetext

说我有2个文件:

foo
bar
baz
Run Code Online (Sandbox Code Playgroud)

123
456
f[want autocomplete here]
Run Code Online (Sandbox Code Playgroud)

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

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

ali*_*ard 102

我已经实现了相同的想法并将其作为一个包发布,因此可以直接从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

  • @Rafal很高兴你喜欢它.要使用短划线工作,您可能需要从首选项文件中的word_separators中删除 - 从菜单"首选项">"设置 - 用户"中打开.如果您认为发现了错误,请在https://github.com/alienhard/SublimeAllAutocomplete上打开一个问题. (2认同)

noa*_*oah 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
Run Code Online (Sandbox Code Playgroud)