为 Ruby 和 Emacs 创建标签

为 Ruby 和 Emacs 创建标签

我从我的顶级 Ruby on Rails 目录运行了以下命令。

find . -name "*.rb" | etags -

然后在 Emacs 中我访问了该标记文件。这可以很好地找到一些方法和大多数文件,但是它无法找到我在帮助程序目录中使用的某些额外方法/类。

例如,我的帮助器目录中有一个名为的文件,my_foo_helper.rb 如果我搜索我的标签以查找该文件,它会找到它。但是,如果我尝试查找该模块中某个方法的标签,它根本找不到它。

如果我使用阿普塔纳或者类似的东西似乎能够定位这些方法。

我该如何解决这个问题?

答案1

你检查过吗rtags

标签是 ctags 的 Ruby 替代品 - 允许使用 vim、emacs 和其他程序在源代码中进行名称导航。

另请查看Emacs ruby​​ 模式發帖。

答案2

我使用了许多针对 vim 的 ruby​​/rails 特定插件。

作为 emacs 的庞然大物,我推测应该有类似的情况。我使用的插件实际上处理代码(而不是 grep 代码),使其更好地了解这种动态语言,这使我的编辑器能够更好地找出我正在寻找的内容。

答案3

etags 仍然不能很好地处理 ruby​​。但在 OSX 上有一个简单的解决方案,请参阅:http://www.murphybytes.com/2012/06/28/etags-for-ruby-in-emacs-on-a-mac/

答案4

它应该可以与 Emacs 25.1(将于今年晚些时候发布)配合使用etags。预发布版本现已可用。

如果您仍然遇到问题,请提交错误并附M-x report-emacs-bug上具体的(但可能是虚构的)代码示例。

相关内容