учебник по использованию ropemacs


есть много сайтов с инструкциями о установка ropemacs, но до сих пор я не мог найти ни одного с инструкциями о том, как использовать это после того как она уже установлена. Я установил его, или, по крайней мере, так кажется, Emacs имеет меню "веревка" в верхней строке меню. И что теперь? До сих пор я мог использовать только "показать документацию" (C-c d по умолчанию). Попытка использовать code assist (который автоматически завершается, я полагаю?) только заставляет Emacs спрашивать о " корневой папке проекта Rope" (что это?) в минибуфере, а затем ничего не показывает.

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

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

4 78

4 ответа:

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

для полной пользы ropemacs, я предлагаю получить автозаполнение.Эл, поставив его в ~/.в 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.д/автозаполнение-1.2. После этого, вы получите автозаполнения автоматически после ввода нескольких символов, слова или символа.

вы можете изменить свой ROOT/.ropeproject/config.py файл для добавления дополнительных каталогов в путь поиска веревки, чтобы обеспечить лучшее автозаполнение.

EDIT: две из самых важных функций для меня-это поиск документации и переход непосредственно к a определение функции. Это зависит от правильной установки пути поиска веревки для вашего проекта, Как упоминалось выше.

документация: наведите курсор на символ (имя функции, имя класса и т. д.), и делать:

C-c d

это покажет вам строку документа для рассматриваемого символа.

переход к определению:наведите курсор на символ (имя функции, имя класса и т. д.), и делать:

C-c g

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

найти вхождения:

C-c f

интеллектуальный поиск во всем проекте для символа в курсоре.

код assist:

M-/

просто введите первые символы, функции, класса и т. д., И это покажет список возможных завершений. Обратите внимание, что из-за природы python, это не всегда будет полный список.

рефакторинг: Есть довольно много вариантов под веревкой - > Рефактор. Они должны лучше организовать ваш код. Как их использовать в основном должны быть очевидны; в общем, выбрать регион код нужно рефакторить, а затем выбрать команду.

Edit: В ответ на комментарий ниже, Вот как добавить другие пути к вашему пути python, чтобы автозаполнение также искало эти символы.

prefs.add('python_path', '~/path/to/virtualenv/lib/python2.6/site-packages')

это .ropeproject/config.py

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

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

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

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

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

Обзор Веревка

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

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

  1. используйте раздел "привязка клавиш" в разделе README docs link от ответ Фрейли в качестве руководства, чтобы узнать отображение.
  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)