Disons que j'ai 2 fichiers:
foo
bar
baz
et
123
456
f[want autocomplete here]
Si je tape 1
dans le 2ème fichier, Sublime vous proposera 123
. Mais si je tape f
cela ne suggérera rien. Je veux qu'il suggère foo
comme ce serait le cas si j'étais à l'intérieur du premier fichier.
Il semble que cela devrait être simple (chaque tampon peut se compléter automatiquement, donc la recherche de chacun d'eux ne peut pas être si difficile) mais je n'ai pas pu trouver de plugin qui le fasse.
J'ai écrit un plugin qui fait ça:
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
J'ai implémenté la même idée et l'ai publiée sous forme de package afin qu'elle puisse être installée directement depuis Sublime avec Package Control:
Appuyez sur ctrl + shift + p (Windows, Linux) ou cmd + shift + p (OS X) pour ouvrir la palette de commandes. Commencez à taper "installer" pour sélectionner "Contrôle du package: installer le package", puis recherchez AllAutocomplete et sélectionnez-le.
Le code est ici: https://github.com/alienhard/SublimeAllAutocomplete