如何在emacs中使用cscope导航perl代码?

raj*_*han 5 vim emacs perl editor

我已经成为VIM用户4年了,但一直在努力学习emacs.我的项目完全用perl编写,我试图让es在emacs for perl中工作.

我从VIM导航perl没有任何问题."从vim命令模式中添加cscope.out"对我来说很有帮助.但是在emacs中,使用相同的cscope数据库(包含C++和perl符号),emacs完全识别我的C符号(Mx Mx cscope-find-global-definition).但对于perl符号,我收到以下错误.

错误:查找全局定义:somePerlFunction搜索完成.
搜索时间= 0.92秒.没有找到匹配项.

emacs是否支持perl代码导航?如果不是,这不是一个主要的缺点吗?有人可以帮忙吗?

Luk*_*vin 1

是的,Emacs 支持 cscope,有几个选项:

http://www.emacswiki.org/emacs/CScopeAndEmacs

我刚刚在 GNU Emacs 24 上测试了 xcscope.el,它似乎工作正常。

如果您已经有 cscope 数据库,我建议您使用 -d 标志从命令行运行 cscope:

cscope -d
Run Code Online (Sandbox Code Playgroud)

使用“查找此全局定义”选项来搜索您的符号,如果没有得到任何结果,则问题出在 cscope,而不是 Emacs。如果您确实找到了结果,请提供更多详细信息,例如您正在使用哪种将 cscope 与 Emacs 集成的方法、哪个版本的 Emacs,并提供可用于重现问题的示例 perl 代码。

您可能还想调查 cedet:

http://cedet.sourceforge.net/