Как проводить межпроектный рефакторинг с помощьюropmacs?
Вопрос
У меня есть файловая структура, которая выглядит примерно так:
project1_root/
tests/
...
src/
.ropeproject/
project1/
... (project1 source code)
project2_root/
tests/
...
src/
.ropeproject/
project2/
... (project2 source)
Я часто переключаюсь между этими двумя проектами, и проект2 зависит от проекта1.Как лучше всего настроить Ropemacs для решения этой проблемы?Было бы неплохо, если бы я мог облегчить межпроектный рефакторинг (о котором я вижу упомянуть в справочнике по библиотеке веревок), но я буду счастлив, если смогу хотя бы держать оба проекта открытыми одновременно, без необходимости переключаться туда и обратно.
Решение
Документация по Ropemacs и RopeMode кажется очень скудной (домашняя страница http://rope.sourceforge.net/ropemacs.html указываю только на ртутные репозитории, которые я проверил и прочитал код), но кажется, что вы можете указать конкретный .ropeproject для использования, и можно догадаться об этом (ropemode/interfaces.py:_guess_project), выполнив поиск в дерево каталогов для каталога .ropeproject.
Таким образом, эту проблему будет довольно легко обойти, создав (новый) .ropeproject, который охватывает оба проекта, если вы создадите конкретный .ropeproject для project1/ и project2/ .
Недостатки, которые я вижу, могут заключаться в том, что вам, возможно, придется переместить исходные каталоги .ropeproject в сторону, и для управления каталогами веревочных проектов более чем в двух проектах потребуются дополнительные сценарии.