Пособие по использованию

Есть много сайтов с инструкциями по установке Romamacs, но пока я не смог найти ни одного с инструкциями по его использованию после того, как он уже установлен. Я установил его, или, по крайней мере, так кажется, в верхней строке меню Emacs есть меню "Веревка". Что теперь? До сих пор я мог использовать только "Показать документацию" (Cc d по умолчанию). Попытка использовать помощник по коду (который, как я полагаю, является автозаполнением) заставляет Emacs спрашивать о "корневой папке проекта Rope" (что это?) В минибуфере, а затем ничего не показывает.

Итак, после установки Romamacs, каковы действия, чтобы увидеть его в действии на некоторых простых скриптах Python? Что-то вроде "если у вас есть этот скрипт в вашем emacs, и вы поместите мигающий квадрат здесь и нажмете это, он делает это", будет ответом.

(Я думал, стоит ли мне спросить об этом или нет в течение некоторого времени, потому что, похоже, ни у кого больше нет такой же проблемы)

4 ответа

Решение

Ну, сначала вам нужно выбрать корневую папку вашего проекта. Проще говоря, это папка на верхнем уровне вашего проекта или текущая папка, если вы работаете с одним файлом. После того, как вы выбрали корневую папку, будут работать другие параметры, такие как помощь по коду, показ документации, переход к другим символам и т. Д.

Для полной пользы romemacs я предлагаю получить 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

Лучшая информация об использовании, которую я нашел, - это readme в источнике romamacs, здесь:

https://github.com/python-rope/ropemacs

Вы можете установить корневую папку с помощью rope-open-project, Как только вы установили корневой проект .ropeproject dir будет создан.

Внутри файла config.py есть хуки, с помощью которых вы можете запускать (python) код после установки проекта. project_opened(project): Функция - хорошее место для запуска кода. Я обычно активирую виртуальную среду imp.load_source('/path-to-env/activate_this.py'), так что я могу получить исходное покрытие для других библиотек в виртуальной среде.

Для общего использования библиотеки веревок, от которой зависит веревка, затем проверьте:

Обзор веревки

В нем подробно описывается, что делает каждый из рефакторингов, например метод извлечения. Обратите внимание, что, по словам автора, этот документ немного устарел. Тем не менее, он должен предоставить достаточно вводных функций для начала работы.

Чтобы выполнить команды Romamacs в Emacs, вы можете попробовать одно или несколько из следующих:

  1. Используйте раздел "Связывание клавиш" в ссылке README docs из ответа Фрейли в качестве руководства, чтобы изучить сопоставления.
  2. Если вы не можете вспомнить сочетания клавиш, выполните M-x rope-<specific command name> и заполните соответствующее имя рефакторинга. Например, метод извлечения будетM-x rope-extract-method,
  3. Выбрать в Emacs <menu-bar> -> Rope, Например, для метода извлечения выберите <menu-bar> -> Rope -> Refactorings -> Extract Method, Он также покажет вам связанные сочетания клавиш (например, C-c r m)
Другие вопросы по тегам