Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 2, 2009 12:26:54

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Emacs + rope + yasnippet + auto-complete

Кто юзает такую связку, помогите, плз!

Настроил вышеуказанное как описано здесь: 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?



Офлайн

#2 Сен. 2, 2009 15:10:54

balu
От:
Зарегистрирован: 2006-05-24
Сообщения: 521
Репутация: +  0  -
Профиль   Отправить e-mail  

Emacs + rope + yasnippet + auto-complete

Не будет дела с автокомплишеном - не определен rope-completions, требуемый в скрипте. rope-completions был в какой-то девелоперской ветке, потом его убрали. Но работает простой комплешин от rope



Офлайн

#3 Сен. 2, 2009 16:23:50

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Emacs + rope + yasnippet + auto-complete

Насколько хорошо он работает? Что он охватывает? Сигнатуры функций, имена классов/функций/модулей из PYTHONPATH есть?



Офлайн

#4 Сен. 2, 2009 16:39:42

balu
От:
Зарегистрирован: 2006-05-24
Сообщения: 521
Репутация: +  0  -
Профиль   Отправить e-mail  

Emacs + rope + yasnippet + auto-complete

Автодополнение хорошее по тому, что определено в import, но без сигнатуры, которе надо смотреть в rope-show-calltip или rope-show-doc, которые тоже вполне неплохо работают.



Офлайн

#5 Сен. 14, 2009 03:50:01

ZioN
От:
Зарегистрирован: 2007-07-12
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Emacs + rope + yasnippet + auto-complete

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



Офлайн

#6 Сен. 14, 2009 13:56:48

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Emacs + rope + yasnippet + auto-complete

Ухты! Спасибо большое! Вечером попробую. 
Если чего - буду спрашивать.



Офлайн

#7 Сен. 14, 2009 22:28:02

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Emacs + rope + yasnippet + auto-complete

Стало лучше, но до идеала далеко.
Больше всего не нравится то, что после точки он не автокомплитит, если не нажать первую букву.
Например, набираю
import os
os.<TAB> - ничего не происходит. А если os.p<TAB>, то тогда уже показывает все, что находит на букву P. Причем там и path и Processing и локальные переменные, начинающиеся на p. Фигня какая-то.

Этот конкретный случай лучше всего отрабатывает ipython. Он все корректно показывает, в отличие от. Эх, жаль, я лиспа не знаю.



Отредактировано (Дек. 3, 2009 20:09:59)

Офлайн

#8 Сен. 16, 2009 10:27:27

balu
От:
Зарегистрирован: 2006-05-24
Сообщения: 521
Репутация: +  0  -
Профиль   Отправить e-mail  

Emacs + rope + yasnippet + auto-complete

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



Отредактировано (Сен. 16, 2009 10:29:30)

Офлайн

#9 Сен. 16, 2009 20:43:28

ZioN
От:
Зарегистрирован: 2007-07-12
Сообщения: 50
Репутация: +  0  -
Профиль   Отправить e-mail  

Emacs + rope + yasnippet + auto-complete

Ed
Стало лучше, но до идеала далеко.
Больше всего не нравится то, что после точки он не автокомплитит, если не нажать первую букву.
Например, набираю
import os
os.<TAB> - ничего не происходит. А если os.p<TAB>, то тогда уже показывает все, что находит на букву P.
У меня работает.


Ed
Причем там и path и Processing и локальные переменные, начинающиеся на p. Фигня какая-то.
Имхо вполне удобно, автокомплит, лично для меня, это борьба со склерозом :) (бывало такое, что через 3 сек. забывал как обозвал переменную, пока переключался на другой буффер :) ) Тебе наверно лучше пользоваться просто автокомплитом rope (rope-code-assist) и сверху yasnippet.



Отредактировано (Сен. 16, 2009 20:49:24)

Офлайн

#10 Сен. 16, 2009 21:08:45

Ed
От:
Зарегистрирован: 2008-12-13
Сообщения: 1032
Репутация: +  13  -
Профиль   Отправить e-mail  

Emacs + rope + yasnippet + auto-complete

ZioN
У меня работает.
И что показывает?


ZioN
Имхо вполне удобно, автокомплит, лично для меня, это борьба со склерозом :)
Это от какого склероза помогает автокомплит, который после os.p<TAB> показывает локальные имена, начинающиеся на p :)?
Если я уже вспомнил os.p, то явно все остальное меня вряд ли заинтересует в данном контексте.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version