Ropemacs 使用教程

2024-03-11

有很多网站都有相关说明安装Ropemacs,但到目前为止我找不到任何有关如何操作的说明use安装完成后即可。我已经安装了它,或者至少看起来是这样,Emacs 在其顶部菜单栏中有“Rope”菜单。怎么办?到目前为止,我只能使用“显示文档”(默认情况下为 C-c d)。尝试使用代码辅助(我想这是自动完成的?)只会导致 Emacs 询问迷你缓冲区中的“Rope 项目根文件夹”(那是什么?),然后什么也不显示。

那么,一旦安装了 rodemacs,要在一些简单的 python 脚本上看到它的运行情况需要采取哪些步骤呢?类似于“如果你的 emacs 中有这个脚本并将闪烁的方块here并按this,它确实that”将是一个答案。

(我一直在想是否应该问这个问题有一段时间了,因为似乎没有其他人有同样的问题)


好吧,您首先需要选择项目根文件夹。很简单,这是项目顶层的文件夹,或者如果您正在处理单个文件,则为当前文件夹。选择根文件夹后,其他选项将起作用,例如代码辅助、显示文档、跳转到其他符号等。

为了充分利用 Ropemacs,我建议自动完成.el http://cx4a.org/software/auto-complete/,将其放入 ~/.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/auto-complete-1.2 中安装了自动完成功能。执行此操作后,您将在输入单词或符号的几个字符后自动完成自动完成。

您可以修改 ROOT/.ropeproject/config.py 文件以向绳索查找路径添加更多目录,以提供更好的自动完成功能。

编辑:对我来说最重要的两个功能是查找文档和直接跳转到函数定义。这取决于如上所述为您的项目正确设置绳索查找路径。

文档:将光标放在符号(函数名称、类名称等)上,然后执行以下操作:

C-c d

这将向您显示相关符号的文档字符串。

跳转到定义:将光标放在符号(函数名称、类名称等)上,然后执行以下操作:

C-c g

这将立即打开符号所在的文件并跳转到定​​义的开头。当文档稀疏并且您想查看实际代码时,这非常有用。另外,它非常适合在您自己的代码中导航。

查找出现的情况:

C-c f

在整个项目中智能搜索光标处的符号。

代码辅助:

M-/

只需键入函数、类等的第一个字符,就会显示可能的补全列表。请注意,由于 python 的性质,它并不总是完整的列表。

重构: Rope->Refactor 下有相当多的选项。这些是为了更好地组织您的代码。如何使用它们应该是不言自明的;一般来说,选择要重构的代码区域,然后选择命令。

Edit: 为了回应下面的评论,这里具体介绍了如何将其他路径添加到 python 路径中,以便自动完成功能也会查找这些符号。

prefs.add('python_path', '~/path/to/virtualenv/lib/python2.6/site-packages')

这进入.ropeproject/config.py

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Ropemacs 使用教程 的相关文章

随机推荐

  • 如何使用Android传感器计算旋转角度?

    我正在做一个 Opengl 应用程序 如果 Android 设备沿 Z 轴旋转 倾斜 我必须旋转相机 我尝试过SensorManager getOrientation R orientVals 使用磁性和加速度传感器 但数值波动很大 我的设
  • UpgradeableApp API 不断给出“无效的 OAuth 消费者密钥”

    给出以下 ruby 代码 consumer OAuth Consumer new consumer key consumer secret site https www googleapis com resp consumer reques
  • 在python中获取方阵的上三角形或下三角形的所有元素

    numpy scipy 中是否有一个函数可以返回方阵的一个三角形 上或下 的所有元素 e g matrix 1 2 3 4 5 6 7 8 9 三角形 上 下 up 1 2 3 5 6 9 down 1 4 5 7 8 9 or up 1
  • 如何使画布文本可选择?

    任何建议都将受到高度赞赏 文本选择有很多组成部分 有些是视觉的 有些是非视觉的 首先 使文本可选择 您必须保留一个数组 其中包含文本的位置 文本是什么以及使用的字体 您将通过 Canvas 函数measureText 使用此信息 通过使用m
  • Elasticsearch:从索引中删除重复项

    我有一个包含多个重复条目的索引 它们具有不同的 id 但其他字段具有相同的内容 例如 id 1 content content1 id 2 content content1 id 3 content content2 id 4 conten
  • 使用 Func 时如何调用 invoke

    在函数中Test Func
  • 在 Akka 中等待多个结果

    在 Akka 中等待多个 actor 结果的正确方法是什么 The 反应式编程原理 https www coursera org course reactiveCoursera 课程有一个使用复制键值存储的练习 在不详细讨论分配的细节的情况
  • Paypal Express 沙箱访问被拒绝

    我正在尝试使用 Paypal 沙箱 API 并得到此响应 Access Denied You don t have permission to access http api 3t sandbox paypal com nvp on thi
  • WCF:如何将多个服务组合到单个 WSDL 中

    在我的 ASP NET WebForms 项目中 我引用了 WCF 服务库项目 其中包含针对每个业务对象的不同 WCF 服务 这些服务托管在 IIS 中 并且可以通过我在 Global asax 中定义的路由获取 WSDL 每个服务通过一个
  • postgres 关系中的 ALTER TYPE 错误不存在

    使用以下内容 CREATE TYPE user types AS ENUM it accounting processes CREATE TABLE my users my user id integer NOT NULL my user
  • GPUImage imageFromCurrentFramebuffer 有时为 GPUImageLookupFilter 及其子类返回 nil

    我一直在使用GPUImage对于我的项目 我遇到了这个问题imageFromCurrentFramebuffer对于某些返回 nilGPUImageLookupFilter s 我子类化了GPUImageFilterGroup就像在GPUI
  • 使用 ASP.NET 和 MVC 3,如何创建隐藏字段,以便正确绑定以数组作为列表中每个项目的值的列表?

    我有一个查询语句列表 当需要在末尾添加另一个语句时 需要将这些查询语句发回 MVC 控制器 对于我现在尝试创建的测试 页面以过滤器列表开头 执行此示例时 页面将为过滤器创建字段 如下所示
  • 缩放时更改 ImageView 的大小

    我正在使用 chrisbanes PhotoView 来实现捏缩放 图像在捏和双击时缩放 但我看不到图像在缩放时拉伸到全屏 在缩放时 看起来图像在框内缩放并且部分图像消失关于缩放 我如何实现图像缩放 以便图像的高度在缩放时增加 我正在使用
  • 如何为javascript接口配置proguard?

    我已经实现了一个使用 JavascriptInterface 的 Webview 当不进行混淆时它工作得很好 但是一旦 Proguard 处于活动状态 它就不起作用了 我在这里查看了其他答案 但仍然无法使其正常工作 一些WebView类 p
  • 更改 Android 中的 MAC 地址

    我正在尝试更改已 root 的 Note 2 Android 设备的 Mac 地址 我做了以下事情 busybox ifconfig wlan0 关闭 busybox ifconfig wlan0 硬件以太 00 11 22 33 44 5
  • Rails 4 simple_form owns_to 关联未定义方法错误

    使用 Rails 4 当我想从对象 Document Document 渲染表单 使用 simple form 时 出现以下错误 undefined method document type id for
  • 搜索结果 url 中的 django csrf_token

    搜索结果 url 中有 csrf 不知道为什么会存在以及如何删除它 搜索效果很好 这是网址 search csrfmiddlewaretoken 675d1340034e094866d15a921407e3fc q testing 这是视图
  • 可靠的全双工串行通信

    我正在设计一种设备 它将加密从 PC 发送的长 假设无限 数据流并将其发回 我计划在运行全双工的设备上使用单个串行端口 并通过硬件握手来 阻止 数据 在每个块后发送一个 CRC 值 该设备只会缓冲有限数量的块 理想情况下 只有一个缓冲区累积
  • 是否可以在 OSX 中检测 Power Nap / DarkWake 模式

    我有一个通过 launchd 启动的守护进程 即使在 DarkWake 期间 它也会运行 并且在 OS X 再次返回睡眠状态之前没有时间完成 我可以想到以下解决方案 但没有找到实现此目的的方法 不要让该守护进程在 DarkWake 期间运行
  • Ropemacs 使用教程

    有很多网站都有相关说明安装Ropemacs 但到目前为止我找不到任何有关如何操作的说明use安装完成后即可 我已经安装了它 或者至少看起来是这样 Emacs 在其顶部菜单栏中有 Rope 菜单 怎么办 到目前为止 我只能使用 显示文档 默认