【问题标题】:How to get emacs auto-complete to complete the functions from the included header files?如何让emacs自动完成以完成包含的头文件中的功能?
【发布时间】:2011-08-05 00:15:42
【问题描述】:

我已经使用 emacs auto complete 配置了 emacs 以自动完成代码。我主要使用 C/C++。我无法自动完成以从包含的头文件中完成函数名称。例如,假设我包含了string.h,当我输入strl 时,它不会将strlen 作为潜在候选人。有没有办法设置它?

我尝试了 CEDET,但 CEDET 中的智能完成太慢了,或者我可能设置不正确。

谢谢, skr

【问题讨论】:

  • 你能发布你为自动完成所做的设置吗?此外,它不仅显示在标准库中,还是从您的库中显示?
  • 我安装了自动完成功能并在 .emacs 文件中进行了以下更改:(require 'auto-complete-config) (add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict") (ac-config-default)。对于 C/C++ 关键字和当前缓冲区中的符号,完成工作正常。自动完成不适用于任何库 - 标准或其他。
  • 设置看起来不错。您必须按照 Bozhidar Batsov 指示的手册进行操作。如果您已按照手册完成所有安装步骤,请继续查看安装是否通过了此处列出的所有检查。

标签: emacs autocomplete cedet


【解决方案1】:

根据autocomplete-mode 手册,它已构建对从语义(CEDET 组件)源完成的支持。我想看看手册,或者可以创建一个自定义完成源。

【讨论】:

  • 我得到了使用自动完成的语义组件。在 auto-complete-config.el 文件中,我将 ac-source-semantic 添加到函数 ac-cc-mode-setup() 中,现在它完成了结构和类成员以及库符号。然而,令人讨厌的部分是它至少需要 7 - 10 秒才能完成,而我打字时它不会这样做。这是我停止使用 CEDET 代码助手的主要原因——它不仅速度慢,而且当它在后台进行一些计算时,它会将 emacs 冻结 5 秒左右。知道如何使用 ac 或 CEDET 加快速度吗?非常感谢
  • 我已经使用代码块很长时间了。最近我切换到emacs,看到它的强大。但在我看来,协助代码块的开发是一件非常好的事情。非常好的自动完成,在调用函数时显示函数原型,良好的调试器等。绝对 emacs 提供了比代码块更多的功能,但我对 emacs 的感觉不一样:(
  • 这是我所知道的关于 CEDET 和 C/C++ 的最佳文章 - alexott.net/ru/writings/emacs-devenv/EmacsCedet.html 不幸的是它是俄语的,但使用 Google 翻译您可能会理解其中的大部分内容。
  • @BozhidarBatsov 还有英文版:alexott.net/en/writings/emacs-devenv/EmacsCedet.html
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-20
  • 2010-12-03
  • 2020-06-19
  • 1970-01-01
  • 2012-04-26
  • 1970-01-01
相关资源
最近更新 更多