如何使用ropemacs进行跨项目重构?

问题描述:

我有一个文件结构看起来是这样的:如何使用ropemacs进行跨项目重构?

project1_root/ 
    tests/ 
     ... 
    src/ 
     .ropeproject/ 
     project1/ 
      ... (project1 source code) 

project2_root/ 
    tests/ 
     ... 
    src/ 
     .ropeproject/ 
     project2/ 
      ... (project2 source) 

我经常来回切换这两个项目之间,以及项目2取决于PROJECT1。设置ropemacs来处理这个问题的最好方法是什么?如果我能够促进跨项目重构(我在绳索库参考中提到),那将会很好,但如果我至少可以同时打开这两个项目而不必来回切换,我会很高兴。

ropemacs和ropemode的文件似乎很稀少(主页http://rope.sourceforge.net/ropemacs.html只指向mercurial回购,我检查了并通过代码阅读),但似乎你可以给一个特定的.ropeproject使用,可以通过在目录树中搜索.ropeproject目录来猜测它(ropemode/interfaces.py:_guess_project)。

因此,如果为project1 /和project2 /创建特定的.rope项目,创建一个覆盖两个项目的(新).ropeproject应该相当容易。

我看到的缺点可能是您可能不得不移动原始的.ropeproject dirs,并且需要一些额外的脚本来管理超过2个项目的ropeproject目录。