2013-04-02 13 views
9

Przez pewien czas miałem problem i to naprawdę bolało mnie. Używam emacsa 24.2.1emacs 24 autouzupełnianie yasnippet

Następny kod to moja konfiguracja do autouzupełniania, a kiedy uruchomię go bez yasnippet wszystko działa płynnie.

(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) 

To jest moja konfiguracja yasnippets

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

Po tym kodzie yasnippet działa dobrze, ale autouzupełnianie przestaje działać c-mode, C++ - tryb, java-mode i php-mode, ale działa dobrze z LISP i Pythonem (testowałem tylko w tych językach).

Próbowałem rzeczy, które znalazłem jak ten kod do autouzupełniania

(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) 

Po pewnym czasie zdałem sobie sprawę, że autouzupełniania działa dobrze, gdy nie mam yasnippet, więc to nie jest rozwiązanie. Próbowałem również (yas/initialize) i (yas - zainicjować), ale to nie robi żadnej różnicy. Uruchomiłem także yasnippety przed autouzupełnianiem i po nim, a wynik jest taki sam. Próbowałem także modyfikować zmienną yas/trigger-key i zawsze mam taki sam wynik. Mam nadzieję, że możesz mi pomóc.

+0

Jakie wersje autouzupełniania i yasnippet są używane? W pewnym momencie najnowsze yasnippet i ac-source-yasnippet nie działały razem, chociaż nie jestem pewien, czy tak jest nadal. Ustawiłem yasnippet ac-source na zero w moim init.el. – jpkotta

+0

Działa z tym !!! Dzięki, nadal będę szukał trochę dalej, ponieważ jest to trochę dziwne, gdy ac-source-yasnippet ustawiony jest na zero. Czy w twojej konfiguracji nie ma żadnych problemów? – silgon

+0

To jest trochę dziwne, ale nie sądzę, że powoduje problemy dla mnie. Zarówno yasnippet, jak i autouzupełnianie działają dobrze. Patrząc na kod źródłowy, wygląda na to, że usunięcie go z ac-sources (które jest lokalnym buforem) może być bardziej poprawne. – jpkotta

Odpowiedz

9

Jak powiedział jpkotta, po prostu ustawiłem yacnippet ac-source na zero i to było to.

(setq ac-source-yasnippet nil) 
Powiązane problemy