2つのファイルがあるとします。
foo
bar
baz
そして
123
456
f[want autocomplete here]
2番目のファイルに1
と入力すると、Sublimeは123
を提案します。しかし、f
と入力しても、何も示唆されません。最初のファイルの中にいるのと同じようにfoo
を提案したいと思います。
これは単純なようです(各バッファーはオートコンプリートであり、すべてを検索するのはそれほど難しくありません)。しかし、これを行うプラグインを見つけることができませんでした。
私はこれを行うプラグインを書きました:
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
私は同じアイデアを実装してパッケージとして公開したので、パッケージコントロールを使用してSublimeから直接インストールできます。
Ctrl + Shift + Pキー(Windows、Linux)またはcmd + Shift + Pキー(OS X)を押して、コマンドパレットを開きます。 「install」と入力して「Package Control:Install Package」を選択し、次にAllAutocompleteを検索して選択します。
コードはこちら: https://github.com/alienhard/SublimeAllAutocomplete