Как сделать автозаполнение RSense и перейти к определениям проекта рельсов? - PullRequest
2 голосов
/ 15 апреля 2011

Я перешел с netbeans на emacs, и я очень доволен этим изменением.Больше всего мне не хватает автозаполнения и перехода к определениям.Для этого я установил Rsense.Он прекрасно работает для кода gems, однако я не могу перейти к определению моего проекта Rails и не выполнить автозаполнение в соответствии с определенными мною методами.

Я попытался добавить путь загрузки моего проекта в конфигурацию load_path Rsense, это все еще не работает.

Кто-нибудь знает, как заставить это работать?

Ответы [ 2 ]

2 голосов
/ 12 декабря 2011

Вы можете использовать теги для просмотра файлов и перехода непосредственно к определениям функций. Я использую Exuberant Ctags (у него есть поддержка Ruby). Вы можете скачать его с здесь .

Я предполагаю, что вы работаете с Windows. Начать работать с тегами на Windows - это боль, особенно если вы впервые используете emacs.

Вот шаги, которые я выполнил:

  1. Установите Cygwin с здесь .
  2. Включите папку cygwin \ bin \ в переменную вашего окружения PATH. Например. здесь
  3. Установить буйные ctags. Обратите внимание, что в emacs могут быть встроенные ctags. Позже вам придется использовать команду ctags в cygwin для создания тегов. В это время вы можете столкнуться с некоторыми ошибками, если он использует ctags в emacs вместо exuberant ctag.
  4. После того, как вы установили ctags, добавьте это также в переменную окружения PATH.
  5. Если у вас небольшой проект с относительно меньшим количеством файлов (<500). Так что вам просто нужен один глобальный файл TAGS. Для этого откройте cygwin, перейдите в корневой каталог вашего проекта и введите команду <code>ctags -R -e Проверьте это для других подходов
  6. Ваш файл тегов будет создан. Он будет называться «TAGS» и будет присутствовать в корневом каталоге вашего проекта.
  7. Далее откройте emacs и просмотрите код. Если вы сталкиваетесь с функцией и хотите перейти к ее определению, наведите курсор на имя функции и нажмите M-., тогда ваш минибуфер должен показать что-то вроде Find tag (default <function-name>): Нажмите Enter и вуаля !!! Вы волшебным образом перенесены в определение функции !!! Примечание: вам может понадобиться указать файл TAGS при первом использовании M-. Это нужно сделать только один раз после запуска emacs. Вы также можете изменить файл .emacs так, чтобы он автоматически загружался в файл TAGS.

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

1 голос
/ 09 декабря 2011

До сих пор я использовал rtags для перехода к определениям.Он не идеален, но во многих случаях помогает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...