Emacs中的代码浏览、重构和自动完成

27

我最近刚刚切换到Emacs,并且还在逐步了解它。我使用C++进行编码,想知道有哪些工具可以扩展Emacs以支持代码浏览(查找符号等)、重构和代码完成。

我听说过:

  • cedet
  • etags
  • cscope

但我很困惑我需要什么。有些地方说cedet提供所有功能,但其他地方说我需要调用etags才能使cedet正常工作。

有人能为我澄清这个问题吗?我是否需要所有这些工具?

6个回答

17

也许你会发现我关于Cedet的文章有用。Cedet支持etags、gtags、cscope等工具。

但缺少重构功能。您可能需要查看Xrefactory工具(但它不是免费的)。


我已经按照你的指南和配置文件重新配置了我的Emacs中的CEDET。哦,太好了。非常感谢你。 - Yantao Xie

6

Cscope是一款非常好用的“查找符号”工具,速度非常快。
Etags可以显示您的类层次结构,并帮助您找到方法定义/声明。

因此,这两个工具都是必备的,并且它们是独立的。

Cedet。它是这两个工具的替代品,还具有其他功能。因此,您可以选择使用cscope / etags或cedet。


3

关于重构,我在阅读了emacs黑客Xah Lee的这篇文章后开始专门使用emacs进行此类任务。

关于自动完成,请参见此SO帖子。就个人而言,我发现yasnippet在这些年里非常有用。


2

1

个人而言,我不喜欢cedet。它会让Emacs加载一个小时。自动完成功能从来没有完全适合我。我不需要它的项目管理或UML功能。唯一我想念的是Emacs代码浏览器,但它需要cedet。

我建议你只使用cscope和etags,看看你是否喜欢它们。等你更熟悉emacs后再安装cedet。


2
你可以只使用 Cedet 的必要部分。名称补全在最新版本的 Cedet 中运作良好(但可能需要进行一些自定义设置)。 - Alex Ott

0

我写了一篇博客文章,介绍如何使用Global/gtags和Speedbar进行代码浏览,你可能会觉得很有用...(我也认为CEDET有点慢...而且设置非常复杂=)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接