Автозаполнение крачки не начнется автоматически

Когда я ввожу "pars" в буфер Emacs js-mode и набираю tern-ac-completeЯ получаю желаемый результат: список кандидатов на завершение + документация рядом с кандидатом.

Тем не менее, я не могу получить завершение крачек автоматически. ac-auto-start установлен в 3 и автозаполнение работает как положено для других случаев (мой файл словаря, слова, которые я уже набрал, jquery-doc и т. д.)

4 ответа

Вы должны попробовать режим компании со сторонней компанией-крачкой.

Запускает завершение автоматически без проблем.

Проблема в том, что tern не обеспечивает ac-source еще. Из комментариев в tern-auto-complete.el

Эта программа пока не предоставляет источник переменного тока для произвольного времени.

Вызовите функцию 'edebug-defun для функции'ac-start из auto-complete.el и следуйте трассировке вызова, чтобы выяснить причину этой проблемы.

В моем случае переменная 'ac-use-dictionary-as-stop-words была t и имела много слов в моем словаре автозаполнения, поэтому автозаполнение было прервано.

tern.el          : Version: 0.0.1
auto-complete.el : Version: 1.4.0 

линия. 1559 (ac-abort));; <= Это называлось!!!

$ node --version # v0.11.13-pre (on Linux)

Это происходит потому, что tern-emacs должен запрашивать завершения у tern-server (асинхронная операция). Только когда сервер вернется, он продолжит вызывать автозаполнение только с источниками крачек.

Я исправил это, посоветовав автозаполнению дождаться запроса крачки, если для пользовательской переменной задано значение t. Таким образом, вы можете получать кавычки, которые будут отображаться в вашем обычном автозаполнении.

Вот запрос на извлечение (или просто diff), который я сделал для репо крачек.

Я добавляю это здесь на случай, если кто-то споткнется через поиск, как я.

Другие вопросы по тегам