Sublime Text 2 - Автозаполнение/предложение из других файлов
Скажем, у меня есть 2 файла:
foo
bar
baz
и
123
456
f[want autocomplete here]
Если я напечатаю 1
во втором файле, Sublime предложит 123
. Но если я наберу f
, он ничего не предложит. Я хочу, чтобы он предложил foo
, как если бы я был в первом файле.
Кажется, что это должно быть простым (каждый буфер может автозаполняться, поэтому поиск всех из них не может быть таким трудным), но я не смог найти плагин, который делает это.
Ответы
Ответ 1
Я написал плагин, который делает это:
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
Ответ 2
Я реализовал ту же идею и опубликовал ее как пакет, поэтому он может быть установлен непосредственно из Sublime с помощью управления пакетами:
Нажмите ctrl + shift + p (Windows, Linux) или cmd + shift + p (OS X), чтобы открыть Пакет команд. Начните вводить "install", чтобы выбрать "Package Control: Install Package", затем найдите AllAutocomplete и выберите его.
Код находится здесь: https://github.com/alienhard/SublimeAllAutocomplete