Существует много сайтов с инструкциями относительно установки ropemacs, но до сих пор я не мог найти никого с инструкциями относительно того, как использовать ее после того, как она уже установлена. Мне установили его, или по крайней мере это кажется так, Emacs имеет меню "Rope" в, он - верхняя панель меню. Теперь, что? До сих пор я мог использовать только "Выставочную документацию" (C-c d по умолчанию). Попытка использовать код помогает (который является автоматическим заполнением, я предполагаю?) только заставляет Emacs спрашивать о "Корневой папке проекта веревки" (что это?) в мини-буфере и затем показе ничего.
Так, после того как ropemacs установлен, что шаги должны видеть его в действии с некоторыми простыми сценариями Python? Что-то как, "если Вы имеете этот сценарий в своем emacs и помещаете мигающий квадрат здесь и нажимаете это, он делает это" было бы ответом.
(Я думал, должен ли я спросить это или не в течение некоторого времени, потому что ни у кого больше, кажется, нет той же проблемы),
Итак, сначала вам нужно выбрать корневую папку вашего проекта. Проще говоря, это папка на верхнем уровне вашего проекта или текущая папка, если вы имеете дело с одним файлом. После того, как вы выбрали корневую папку, будут работать другие параметры, такие как помощь с кодом, отображение документации, переход к другим символам и т. Д.
Чтобы в полной мере использовать ropemacs, я предлагаю получить autocomplete.el , поместив его в ~ / .emacs.d, а затем добавив в ваш .emacs
(add-to-list 'load-path "~/.emacs.d/")
(add-to-list 'load-path "~/.emacs.d/auto-complete-1.2")
(autoload 'python-mode "python-mode" "Python Mode." t)
(add-to-list 'auto-mode-alist '("\\.py\\'" . python-mode))
(add-to-list 'interpreter-mode-alist '("python" . python-mode))
(require 'python-mode)
(autoload 'pymacs-apply "pymacs")
(autoload 'pymacs-call "pymacs")
(autoload 'pymacs-eval "pymacs" nil t)
(autoload 'pymacs-exec "pymacs" nil t)
(autoload 'pymacs-load "pymacs" nil t)
(pymacs-load "ropemacs" "rope-")
(setq ropemacs-enable-autoimport t)
(require 'auto-complete)
(global-auto-complete-mode t)
. Предполагается, что вы установили автозаполнение в ~ / .emacs.d / auto-complete-1.2. После того, как вы это сделаете, вы получите автозаполнение автоматически после ввода нескольких символов слова или символа.
Вы можете изменить свой ROOT / .ropeproject / config.py файл, чтобы добавить больше каталогов в путь поиска веревки, чтобы обеспечить лучшее автозаполнение.
РЕДАКТИРОВАТЬ: Две самые важные для меня функции - это поиск документации и переход непосредственно к определению функции. Это зависит от правильной настройки пути поиска веревки для вашего проекта, как упоминалось выше.
Документация : Поместите курсор на символ (имя функции, имя класса и т. Д.) И выполните:
C-c d
Это покажет вам строку документации для рассматриваемого символа.
Переход к определению : поместите курсор на символ (имя функции, имя класса и т. Д.) И выполните:
C-c g
Это немедленно откроет файл, в котором находится символ, и перейдет к началу определения . Это отлично подходит для случаев, когда документация скудна и вы хотите увидеть реальный код. Кроме того, это действительно удобно для навигации по собственному коду.
Поиск вхождений :
C-c f
Интеллектуальный поиск символа под курсором во всем проекте.
Ассистент кода :
M-/
Просто введите первые символы функции, класса и т. Д., И появится список возможных завершений. Обратите внимание, что из-за природы Python это не всегда будет полный список.
Рефакторинг : В разделе Rope-> Refactor есть несколько вариантов. Это сделано для того, чтобы лучше организовать ваш код. Как их использовать, в большинстве случаев должно быть понятно; в общем, выберите область кода, которую вы хотите рефакторинг, затем выберите команду.
Редактировать : В ответ на комментарий ниже, вот как именно добавить другие пути к вашему пути python, чтобы автозаполнение также выполняло поиск этих символов.
prefs.add('python_path', '~/path/to/virtualenv/lib/python2.6/site-packages')
Это находится в .ropeproject / config.py
Вы можете установить корневую папку с помощью rope-open-project
. После установки корневого проекта будет создан .ropeproject
dir.
Внутри него в файле config.py есть хуки, в которых вы можете запускать (python) код после установки проекта. Функция project_opened(project):
является хорошим местом для запуска кода. Обычно я активирую виртуальное окружение imp.load_source('/path-to-env/activate_this.py')
, чтобы получить исходное покрытие для других libs в виртуальном окружении.