Кто юзает такую связку, помогите, плз!
Настроил вышеуказанное как описано здесь:
http://hide1713.wordpress.com/2009/01/30/setup-perfect-python-environment-in-emacs/Не работает пункт 2: Complete names in other files or python libraries.
Набираю скажем os. и жму TAB - пишет в статус строке sole completion или вообще молчит.
Если у кого-то это работает, можно ли взглянуть на ваш .emacs?
balu
Сен. 2, 2009 15:10:54
Не будет дела с автокомплишеном - не определен rope-completions, требуемый в скрипте. rope-completions был в какой-то девелоперской ветке, потом его убрали. Но работает простой комплешин от rope
Насколько хорошо он работает? Что он охватывает? Сигнатуры функций, имена классов/функций/модулей из PYTHONPATH есть?
balu
Сен. 2, 2009 16:39:42
Автодополнение хорошее по тому, что определено в import, но без сигнатуры, которе надо смотреть в rope-show-calltip или rope-show-doc, которые тоже вполне неплохо работают.
ZioN
Сен. 14, 2009 03:50:01
Ed
Кто юзает такую связку, помогите, плз!
Если у кого-то это работает, можно ли взглянуть на ваш .emacs?
Пользуемся :) Обнови auto-complete (
http://www.cx4a.org/pub/), и yasnippet (
http://code.google.com/p/yasnippet/downloads/list) до последней версии. Ну и приблизительно так:
(require 'pymacs)
(require 'python-mode)
(require 'yasnippet-bundle)
(require 'auto-complete)
(require 'auto-complete-yasnippet)
(require 'auto-complete-python)
(pymacs-load "ropemacs" "rope-")
(setq ropemacs-enable-autoimport t)
дальше все как указано в примере, кроме этой строчки:
(append ac-sources ‘(ac-source-rope) ’(ac-source-yasnippet)))
заменить на:
(append ac-sources '(ac-source-rope)))
balu
Не будет дела с автокомплишеном - не определен rope-completions, требуемый в скрипте. rope-completions был в какой-то девелоперской ветке, потом его убрали. Но работает простой комплешин от rope
Да есть вроде, обновите ropemode
http://bitbucket.org/agr/ropemode/src/tip/ropemode/interface.py#cl-236@decorators.local_command()
def completions(self):
return _CodeAssist(self, self.env).completions()
Ed
Сен. 14, 2009 13:56:48
Ухты! Спасибо большое! Вечером попробую.
Если чего - буду спрашивать.
Ed
Сен. 14, 2009 22:28:02
Стало лучше, но до идеала далеко.
Больше всего не нравится то, что после точки он не автокомплитит, если не нажать первую букву.
Например, набираю
import os
os.<TAB> - ничего не происходит. А если os.p<TAB>, то тогда уже показывает все, что находит на букву P. Причем там и path и Processing и локальные переменные, начинающиеся на p. Фигня какая-то.
Этот конкретный случай лучше всего отрабатывает ipython. Он все корректно показывает, в отличие от. Эх, жаль, я лиспа не знаю.
balu
Сен. 16, 2009 10:27:27
ZioN
Да есть вроде, обновите ropemode
ДА, у меня старый был, хотя указанный метод там был, но он не работал.
ZioN
дальше все как указано в примере, кроме этой строчки:
(append ac-sources ‘(ac-source-rope) ’(ac-source-yasnippet)))
заменить на:
(append ac-sources '(ac-source-rope)))
И я бы еще заменил
(define-key py-mode-map (kbd "\t") 'ryan-python-tab)
на что-то типа
(add-hook 'python-mode-hook
(lambda ()
(define-key py-mode-map (kbd "\e\ek") 'ryan-python-tab))
ZioN
Сен. 16, 2009 20:43:28
Ed
Стало лучше, но до идеала далеко.
Больше всего не нравится то, что после точки он не автокомплитит, если не нажать первую букву.
Например, набираю
import os
os.<TAB> - ничего не происходит. А если os.p<TAB>, то тогда уже показывает все, что находит на букву P.
У меня работает.
Ed
Причем там и path и Processing и локальные переменные, начинающиеся на p. Фигня какая-то.
Имхо вполне удобно, автокомплит, лично для меня, это борьба со склерозом :) (бывало такое, что через 3 сек. забывал как обозвал переменную, пока переключался на другой буффер :) ) Тебе наверно лучше пользоваться просто автокомплитом rope (rope-code-assist) и сверху yasnippet.
Ed
Сен. 16, 2009 21:08:45
ZioN
У меня работает.
И что показывает?
ZioN
Имхо вполне удобно, автокомплит, лично для меня, это борьба со склерозом :)
Это от какого склероза помогает автокомплит, который после os.p<TAB> показывает локальные имена, начинающиеся на p :)?
Если я уже вспомнил os.p, то явно все остальное меня вряд ли заинтересует в данном контексте.