2012-01-31 16 views
38

Dire che ho 2 file:Sublime Text 2 - completamento automatico/suggerire da altri file

foo 
bar 
baz 

e

123 
456 
f[want autocomplete here] 

Se scriv 1 nel 2 ° di file, Sublime suggeriranno 123. Ma se digito f non suggerirò nulla. Voglio suggerire foo come se fosse all'interno del primo file.

Sembra che questo dovrebbe essere semplice (ogni buffer può completare automaticamente, quindi la ricerca di tutti non può essere così difficile) ma non sono stato in grado di trovare un plug-in che faccia ciò.

+0

Hai provato a chiedere ai [Forum] (http://www.sublimetext.com/forum/)? Penso di aver già visto quella domanda lì prima. –

risposta

16

ho scritto un plugin che fa questo:

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 
98

Ho implementato la stessa idea e pubblicato come un pacchetto in modo che possa essere installato direttamente dall'interno Sublime con controllo del pacchetto:

Press ctrl + shift + p (Windows, Linux) o cmd + shift + p (OS X) per aprire Command Pallete. Inizia a digitare "installa" per selezionare "Controllo pacchetto: Installa pacchetto", quindi cerca AllAutocomplete e selezionalo.

Codice è qui: https://github.com/alienhard/SublimeAllAutocomplete

+0

Wow! Funziona alla grande. Trovato un bug - non rileva e completa automaticamente i nomi delle classi se la classe ha '' -'' al suo interno. Tutto il resto funziona alla grande. – Rafal

+2

@Rafal Sono contento che ti piaccia. Per far funzionare i nomi con i trattini potrebbe essere necessario rimuovere - da word_separators nel file delle preferenze (aperto dal menu Preferenze> Impostazioni-Utente). Se pensi di aver trovato un bug, ti preghiamo di aprire un problema su https://github.com/alienhard/SublimeAllAutocomplete. – alienhard

+1

"L'ho implementato". @alienhard rispondi come un re. Grazie! –

Problemi correlati