首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Emacs中可以将Ropemacs与TRAMP一起使用吗?

在Emacs中可以将Ropemacs与TRAMP一起使用吗?
EN

Stack Overflow用户
提问于 2010-05-12 07:52:51
回答 1查看 678关注 0票数 18

我最近安装了Ropemacs的hg tip版本,我想在使用TRAMP编辑远程文件时使用它。有人这么做过吗?当我尝试使用M-/完成变量名时,系统要求我输入Rope project root folder,然后我输入:/ssh:myhost:/path/to/myproject/,结果显示以下错误:

代码语言:javascript
运行
复制
Opening [/ssh:myhost:/path/to/myproject/] project ... 
pymacs-report-error: Python: Traceback (most recent call last):
  File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/Pymacs/pymacs.py", line 147, in loop
    value = eval(text)
  File "<string>", line 1, in <module>
  File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/ropemode/decorators.py", line 53, in newfunc
    return func(*args, **kwds)
  File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/ropemode/interface.py", line 254, in code_assist
    _CodeAssist(self, self.env).code_assist(prefix)
  File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/ropemode/interface.py", line 538, in code_assist
    proposals = self._calculate_proposals()
  File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/ropemode/interface.py", line 597, in _calculate_proposals
    self.interface._check_project()
  File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/ropemode/interface.py", line 448, in _check_project
    self.open_project()
  File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/ropemode/decorators.py", line 53, in newfunc
    return func(*args, **kwds)
  File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/ropemode/interface.py", line 88, in open_project
    self.project = rope.base.project.Project(root)
  File "/home/saltycrane/lib/python-environments/default/lib/python2.6/site-packages/rope/base/project.py", line 134, in __init__
    os.mkdir(self._address)
OSError: [Errno 2] No such file or directory: '/ssh:myhost:/path/to/myproject'

我想ropemacs不支持带TRAMP的远程文件。只是想知道是否有人找到了解决办法。也许是一些自定义的elisp?或者我应该使用sshfs并在本地挂载远程文件系统……

我在位于/home/saltycrane/lib/python-environments/default的虚拟环境中安装了ropemacs。我在Ubuntu Lucid上使用GNU Emacs 23.1.50.1。

值得一提的是,当我不使用TRAMP时,使用M-/可以很好地完成任务。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-09-14 07:07:37

不,使用TRAMP是不可能的,因为当Python rope库想要扫描文件系统中的Python文件以找到它们的类和函数时,它不会对Emacs进行回调-相反,它直接在文件系统上使用像listdir()open()这样的调用,而不给Emacs一个机会来拦截您正在编辑的以TRAMP为前缀的特殊路径。

正如评论中提到的,使用sshfs可能是可行的,但对于rope,我认为这将是一个非常慢的解决方案,因为rope必须打开如此多的文件来了解您的项目状态。

当通过远程文件系统链接进行编辑时,我通常会关闭rope,或者弄清楚如何从远程系统导出Emacs会话。我想知道你是否可以使用像rsyncdropbox,甚至是DVCS这样的东西,这样文件就会作为可立即访问的副本出现在你的本地硬盘上,但这样你保存的更改就会被复制过来?

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2815228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档