web-dev-qa-db-fra.com

Sublime Text 2 - Saisie automatique / suggestion à partir d'autres fichiers

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.

39
noah

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
16
noah

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

102
alienhard