Всплывающее окно автоматического завершения Sublime Text 2 не работает должным образом

У меня возникла проблема с jQuery Snippet, который я установил во время управления пакетами. После установки у меня нет всплывающих окон с подсказками кода jQuery и intalisance. Посмотрите это видео:
http://code.tutsplus.com/courses/perfect-workflow-in-sublime-text-2/lessons/adding-snippets-through-package-control

На 0:50 после ввода . появилось всплывающее окно с подсказками по коду - у меня такого нет. Мне нужно ввести ., а затем нажать Tab, чтобы отобразить всплывающее окно с фрагментом...
И да, я в файле JavaScript, и у меня есть настройки по умолчанию .

А после . он также получил все функции jQuery, такие как add или addClass. У меня его нет, даже если я нажму Ctrl+Пробел.


person born2fr4g    schedule 29.09.2012    source источник
comment
Давайте, ребята ? Как на твоей машине? У вас есть автозаполнение при вводе (в режиме реального времени) (для кода javascript или jQuery), как в фильме выше? — Born2fr4g только что отредактировал   -  person born2fr4g    schedule 30.09.2012
comment
У меня точно такая же проблема. Я не вижу всплывающее окно автозаполнения в реальном времени. tab либо автоматически завершает мой текст (думаю, когда есть только одно совпадение), либо показывает всплывающее окно, которое я хотел бы видеть в реальном времени!   -  person user2503795    schedule 01.10.2012
comment
см. ответ ниже - вы можете получить его вручную или настроить его автоматически, пока вы печатаете   -  person Richard Jordan    schedule 07.12.2012
comment
ниже правильный ответ...   -  person Richard Jordan    schedule 05.02.2013
comment
Это может быть дубликатом Получение полного автозаполнения JS в Sublime Text.   -  person dbn    schedule 06.03.2013
comment
(который был задан после этого вопроса, извините).   -  person dbn    schedule 06.03.2013
comment
У меня такая же проблема. Ответ ниже не помогает.   -  person Alexander Rechsteiner    schedule 09.05.2013


Ответы (4)


Если вы нажмете CTRL-ПРОБЕЛ, вы получите раскрывающийся список доступных вариантов завершения того, что вы только что набрали.

http://www.sublimetext.com/docs/2/tab_completion.html

Если вы хотите, чтобы раскрывающийся список автозаполнения появлялся при вводе, добавьте эту строку в свой файл User Preferences.sublime-settings:

{
  "auto_complete_selector": "source, text"
}

Это должно делать то, что вы ищете :-)

person Richard Jordan    schedule 07.12.2012
comment
Не помогает к сожалению. У меня такая же проблема на ST2 в Windows, и я пытаюсь заставить эти фрагменты jQuery работать с автозаполнением. Только что. Не делает. Работа. - person Alexander Rechsteiner; 09.05.2013
comment
Ок, нашел проблему! Смотрите мой ответ ниже. - person Alexander Rechsteiner; 09.05.2013

Попробуйте изменить настройки пользователя на следующие:

{
  // By default, auto complete will commit the current completion on enter.
  // This setting can be used to make it complete on tab instead.
  // Completing on tab is generally a superior option, as it removes
  // ambiguity between committing the completion and inserting a newline.
  "auto_complete_commit_on_tab": true,

  // Controls if auto complete is shown when snippet fields are active.
  // Only relevant if auto_complete_commit_on_tab is true.
  "auto_complete_with_fields": true,

  // As Richard Jordan suggested, this item
  // controls what scopes auto complete will be triggered in
  "auto_complete_selector": "source, text"
}

Откройте Настройки пользователя, нажав Cmd+, на Mac или Ctrl+,. в Windows

И если вы хотите полностью понять Sublime Text 2, я рекомендую этот курс: Идеальный рабочий процесс в Sublime Text. К тому времени, когда я впервые опубликовал этот ответ, он был бесплатным. Я все равно рекомендую его в любом случае.

person Flavio Wuensche    schedule 06.02.2013

Какую ОС вы используете? Я предполагаю, что Windows.

Проблема заключается в том, что фрагменты jQuery в доступных плагинах имеют атрибуты <tabTrigger>, которые начинаются либо с $, либо с ., что вызывает проблемы.

Попробуйте следующее: найдите пакет jQuery, содержащий эти фрагменты (в разделе Настройки -> Обзор пакетов) и откройте файл .sublime-snippet фрагмента, который не работает должным образом. Тот, который вы назвали в своем посте, будет определен в файле event-on.sublime-snippet.

Найдите строку

<tabTrigger>.on</tabTrigger>

и удалите . следующим образом

<tabTrigger>on</tabTrigger>

Сохраните и вернитесь к вашему файлу .js. Теперь посмотрите, отображается ли фрагмент, когда вы набираете o. Это работает для меня.

Я предполагаю, что это ошибка в Sublime Text 2 для Windows (может быть, и для Linux?), поскольку она, очевидно, отлично работает в OS X, как мы видим в видеокурсе, который вы связали.

Для этого конкретного пакета на GitHub была создана проблема. и я сейчас прокомментировал эту информацию. Я предполагаю, что единственный способ заставить это работать — иметь фрагменты, которые не начинаются со специальных символов.

Я также зарегистрировал ошибку для Sublime Text на Userecho.

person Alexander Rechsteiner    schedule 09.05.2013

Создатель видео использует SublimeCodeIntel. То, что вы видите в 00:50, — это не всплывающее окно автозаполнения Sublime Text 2, это всплывающее окно автозаполнения импорта SublimeCodeIntel:

Импортирует автозаполнение — показывает автозаполнение с доступными модулями/символами в режиме реального времени.

См. страницу Github для получения дополнительной информации.

person angerson    schedule 18.05.2013