Завершение кода на python в Emacs

Я пытался сделать PythonIDE, используя emacs, как в этой статье http://www.enigmacurry.com/2009/01/21/autocompleteel-python-code-completion-in-emacs/ Но emacs сказал мне, что "режим автозаполнения не включен" ". Можно ли использовать emacs для кодирования на python?

1 ответ

Решение

Вы хотите активировать режим автозаполнения в контексте, где вы получаете это сообщение, либо

  • каждый раз, когда вы открываете файлы Python, добавив следующее .emacs:

    (add-hook 'python-mode-hook
      (lambda ()
             (auto-complete-mode 1)))
    
  • или когда вы открываете любой файл, добавив следующее .emacs:

    (global-auto-complete-mode t)
    

Вопрос, на который вы ссылаетесь, предлагает кое-что еще более полное (то есть, которое включает первое из двух предложенных мной дополнений):

(add-hook 'python-mode-hook
      (lambda ()
             (auto-complete-mode 1)
             (set (make-local-variable 'ac-sources)
                  (append ac-sources '(ac-source-rope) '(ac-source-yasnippet)))
             (set (make-local-variable 'ac-find-function) 'ac-python-find)
             (set (make-local-variable 'ac-candidate-function) 'ac-python-candidate)
             (set (make-local-variable 'ac-auto-start) nil)))

Эти дополнения будут необходимы, чтобы получить полное завершение, используя сниппеты и веревку.

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