Gần đây tôi đã cài đặt phiên bản hg tip của Ropemac và tôi muốn sử dụng nó khi chỉnh sửa các tệp từ xa bằng TRAMP. Có ai đã làm điều này không? Khi tôi cố gắng sử dụng M-/
để hoàn thành một tên biến, tôi đang yêu cầu nhập Rope project root folder
và tôi hãy nhập: /ssh:myhost:/path/to/myproject/
và nó mang lại cho tôi những lỗi sau:Có thể sử dụng Ropemacs với TRAMP trong Emacs không?
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'
Tôi tưởng tượng ropemacs không hỗ trợ các file từ xa với TRAMP . Chỉ cần tự hỏi nếu có ai tìm được cách giải quyết. Có lẽ một số elisp tùy chỉnh? Hoặc có thể tôi nên sử dụng sshfs và gắn hệ thống tệp từ xa tại địa phương ...
Tôi đã cài đặt ropemac trong một virtualenv tại /home/saltycrane/lib/python-environments/default
. Tôi đang sử dụng GNU Emacs 23.1.50.1 trên Ubuntu Lucid.
Tôi nên đề cập đến việc hoàn thành với M-/
hoạt động tốt khi tôi không sử dụng TRAMP.
Sử dụng sshfs có lẽ là cách tiếp cận thực dụng. Chờ đợi cho đến khi ropemacs được hỗ trợ để làm việc trên TRAMP, hoặc vá ropemacs mình, chắc chắn là nỗ lực nhiều hơn nữa. –
+1 cho sshfs, tuân theo nguyên lý mô đun của triết lý Unix và không chỉ hoạt động với Emacs. –