有很多网站都有关于安装ropemacs的说明,但到目前为止,我还没有找到任何关于安装之后如何使用它的说明。我已经安装了它,或者至少看起来是这样的,Emacs在它的顶部菜单栏中有“绳索”菜单。这次又是什么?到目前为止,我只能使用“显示文档”(默认情况下为could )。试图使用代码辅助(我想这是自动完成的?)只会导致Emacs询问"Rope项目根文件夹“(这是什么?)在小缓冲器里然后什么也没显示。
那么,一旦安装了ropemacs,在一些简单的python脚本上查看它的步骤是什么?比如“如果你在你的电子邮件中有这个脚本,然后把闪烁的方块放在这里,然后按下这个,它就会做到这一点”将是一个答案。
(我一直在考虑是否应该问这个问题,因为似乎没有其他人有同样的问题)
发布于 2010-05-18 09:21:00
首先,您需要选择项目根文件夹。很简单,这是项目顶层的文件夹,如果您处理的是单个文件,则是当前文件夹。一旦您选择了根文件夹,那么其他选项就会起作用,例如代码辅助、显示文档、跳转到其他符号等。
为了使ropemacs充分受益,我建议获取autocomplete.el,将其放入~/.emacs.d中,然后将其添加到.emacs中
(add-to-list 'load-path "~/.emacs.d/")
(add-to-list 'load-path "~/.emacs.d/auto-complete-1.2")
(autoload 'python-mode "python-mode" "Python Mode." t)
(add-to-list 'auto-mode-alist '("\\.py\\'" . python-mode))
(add-to-list 'interpreter-mode-alist '("python" . python-mode))
(require 'python-mode)
(autoload 'pymacs-apply "pymacs")
(autoload 'pymacs-call "pymacs")
(autoload 'pymacs-eval "pymacs" nil t)
(autoload 'pymacs-exec "pymacs" nil t)
(autoload 'pymacs-load "pymacs" nil t)
(pymacs-load "ropemacs" "rope-")
(setq ropemacs-enable-autoimport t)
(require 'auto-complete)
(global-auto-complete-mode t)这假设您在~/.emacs.d/Autom-Complet-1.2中安装了自动完成。在您这样做后,您将获得自动完成后,键入几个字符的单词或符号。
您可以修改根/..ropeproject/config.py文件,以便向rope查找路径添加更多的目录,以便提供更好的自动完成。
编辑:对于我来说,最重要的两个函数是查找文档和直接跳转到函数定义。这取决于正确设置项目的绳索查找路径,如上文所述。
Documentation:将光标放在符号(函数名、类名等)上,然后执行以下操作:
C-c d这将显示有关符号的docstring。
跳到定义:将光标放在符号(函数名、类名等)上,然后执行:
C-c g这将立即打开符号所在的文件,并跳到定义的开头。这对于文档稀疏和您想要查看实际代码的时候是很好的。而且,在您自己的代码中导航也是非常好的。
查找事件
C-c f在整个项目中智能搜索光标处的符号。
码辅助
M-/只需键入函数、类等的第一个字符,这将显示可能完成的列表。注意,由于python的性质,它并不总是一个完整的列表。
Refactorings:在Rope->Refactor下有很多选项.这些是为了更好地组织您的代码。如何使用它们应该基本上是不言自明的;通常,选择要重构的代码区域,然后选择命令。
编辑:作为对下面评论的回应,下面是如何将其他路径添加到您的python中,因此autocomplete也会查找这些符号。
prefs.add('python_path', '~/path/to/virtualenv/lib/python2.6/site-packages')这是在.ropeproject/config.py中
发布于 2010-10-05 17:38:43
我发现的最佳使用信息是ropemacs源中的自述文件,如下所示:
发布于 2010-05-18 14:27:12
可以使用rope-open-project设置根文件夹。一旦设置了根项目,就会创建一个.ropeproject dir。
在config.py文件中,一旦设置了项目,就可以在其中运行(python)代码的钩子。project_opened(project):函数是运行代码的好地方。我通常激活虚拟环境imp.load_source('/path-to-env/activate_this.py'),这样我就可以获得虚拟env中其他库的源代码覆盖率。
https://stackoverflow.com/questions/2855378
复制相似问题