Emacs 24 Автозаполнение Yasnippet

У меня какое-то время была проблема, и это доставляет мне настоящую головную боль. Я использую Emacs 24.2.1

Следующий код - моя конфигурация для автозаполнения, и когда я запускаю его без yasnippet, все работает без сбоев.

(add-to-list 'load-path "~/.emacs.d/autocomplete/")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/autocomplete/ac-dict")
(ac-config-default)

Это моя конфигурация для яснипец

(add-to-list 'load-path "~/.emacs.d/yasnippet")
(require 'yasnippet)
(yas/global-mode t)

После этого кода yasnippet работает нормально, но автозаполнение перестает работать для c-mode, C++-mode, java-mode и php-mode, но работает хорошо с lisp и python (я тестировал только с этими языками).

Я пробовал вещи, которые я нашел, как этот код для автозаполнения

(set-default 'ac-sources
             '(ac-source-abbrev
               ac-source-dictionary
               ac-source-yasnippet
               ac-source-words-in-buffer
               ac-source-words-in-same-mode-buffers
               ac-source-semantic))

(ac-config-default)

(dolist (m '(c-mode c++-mode java-mode))
  (add-to-list 'ac-modes m))

(global-auto-complete-mode t)

Через некоторое время я понял, что автозаполнение работает хорошо, когда у меня нет яснипета, так что это не решение проблемы. Я также пробовал (yas/initialize) и (yas- initialize), но это не имеет никакого значения. Я также запускаю yasnippets до и после автозаполнения, и результат тот же. Я также попытался изменить переменную yas/trigger-key, и всегда у меня один и тот же результат. Надеюсь, вы сможете мне помочь.

1 ответ

Решение

Как сказал jpkotta, я просто установил свой ac-source-yasnippet на ноль, и все.

(setq ac-source-yasnippet nil)
Другие вопросы по тегам