1

Я хочу показать панель автозавершения, и я добился успеха в возвышенном тексте 3, используя API on_query_completions, но я не смог создать sublime-text2 с использованием того же кода.Разница между st2 и st3 о on_query_completions

Код:

import sublime, sublime_plugin 

class CCAutoComplete(sublime_plugin.EventListener): 
    def on_query_completions(self, view, prefix, locations): 
     flag = sublime.INHIBIT_WORD_COMPLETIONS | sublime.INHIBIT_EXPLICIT_COMPLETIONS 
     result = ([["abv","abv"],["abcd123","abcd"]],flag) 
     return result 
+0

Вы получаете какую-либо ошибку в консоли? Вы пытались отправить 2D-массив без флагов? – Enteleform

+0

Кроме того, попробуйте использовать кортежи вместо массивов. '[("ABV", "ABV"), ("abcd123", "ABCD")]'. Это то, что я использую в своем выпуске [** CustomCompletions **] (https://forum.sublimetext.com/uploads/default/original/3X/5/d/5ddc69fc0d6ea71b0a30156da7a1e94f7ceec905.gif), хотя я не тестировал это в ST2. – Enteleform

+1

Я пытаюсь использовать кортежи вместо массивов. [("ABV", "ABV"), ("abcd123", "ABCD")]. И я добился успеха! Спасибо. – chenhehe

ответ

0

Используйте массив кортежей для значений завершения вместо 2D-массив:

[("abv","abv"),("abcd123","abcd")]

Смежные вопросы