J'ai récemment installé la version hg tip de Ropemacs et je voudrais l'utiliser lors de l'édition de fichiers distants à l'aide de TRAMP. Est-ce que quelqu'un a fait ça? Lorsque je tente d'utiliser M-/
pour compléter un nom de variable, on me demande d'entrer dans le Rope project root folder
et j'entre: /ssh:myhost:/path/to/myproject/
et il me donne l'erreur suivante:Est-il possible d'utiliser Ropemacs avec TRAMP dans Emacs?
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'
J'imagine ropemacs ne prend pas en charge les fichiers distants avec TRAMP . Je me demandais juste si quelqu'un a trouvé une solution de contournement. Peut-être un peu plus personnalisé? Ou peut-être que je devrais utiliser sshfs et monter le système de fichiers distant localement ...
J'ai installé ropemacs dans un virtualenv situé au /home/saltycrane/lib/python-environments/default
. J'utilise GNU Emacs 23.1.50.1 sur Ubuntu Lucid.
Je devrais mentionner que l'achèvement avec M-/
fonctionne très bien quand je n'utilise pas TRAMP.
L'utilisation de sshfs est probablement l'approche pragmatique. Attendre que ropemacs obtienne du soutien pour travailler sur TRAMP, ou pour réparer des ropemacs par vous-même, c'est certainement plus d'effort. –
+1 pour sshfs, qui suit le principe de modularité de la philosophie Unix et ne fonctionne pas seulement avec Emacs. –