2012-01-31 71 views
38

說我有2個文件:崇高文本2 - 自動完成/自其他文件表明

foo 
bar 
baz 

123 
456 
f[want autocomplete here] 

如果我在第2個文件中,鍵入1,崇高會建議123。但如果我輸入f它不會建議任何東西。我希望它建議像foo一樣,如果我在第一個文件中。

看起來這應該很簡單(每個緩衝區都可以自動完成,所以搜索它們都不會那麼困難),但是我一直無法找到這樣做的插件。

+0

你試過問在[論壇](http://www.sublimetext.com/forum/)?我想我以前曾見過這個問題。 – 2012-01-31 15:14:24

回答

16

我寫了一個插件,這是否:

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

我實現了同樣的想法,並將其發佈爲一個包,以便它可以直接從安裝中崇高與包控制:

新聞ctrl + shift + p(Windows,Linux)或cmd + shift + p(OS X)打開Command Pallete。開始輸入'install'選擇'Package Control:Install Package',然後搜索AllAutocomplete並選擇它。

代碼是在這裏:https://github.com/alienhard/SublimeAllAutocomplete

+0

哇!這很好。發現一個錯誤 - 如果類中有''-'',它不會檢測和自動完成類名稱。其他一切都很好。 – Rafal 2013-10-28 09:33:10

+2

@Rafal很高興你喜歡它。要使用破折號創建名稱,您可能需要從首選項文件中的word_separators中刪除(從菜單首選項>設置 - 用戶打開)。如果你認爲你發現了一個bug,請在https://github.com/alienhard/SublimeAllAutocomplete上打開一個問題。 – alienhard 2013-10-29 15:57:42

+1

「我已經實現了」。 @alienhard像國王一樣回答。謝謝! – 2015-03-18 06:51:59