C/C++ 的 Emacs 代码完成?
你能给我推荐什么?
What can you recommend me ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
你能给我推荐什么?
What can you recommend me ?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(7)
您可以尝试公司模式。这是一种多后端缓冲区内完成机制。
观看截屏了解其工作原理。
一些后端是:
也可通过 ELPA 获取。
You can try company-mode. It's a multi-backend in-buffer completion mechanism.
Watch the screencast to get an idea of how it works.
Some of the back-ends are:
And it's also available via ELPA.
您还可以使用 clang 的自动完成插件,只要您的源代码可以使用它进行编译。
链接:
You could also use an autocomplete plugin for clang as long as your source compiles with it.
links:
GCCSense
来自作者自动完成模式 。顾名思义,它使用 gcc 来查找代码补全的候选者。
GCCSense
From the author of Auto Complete Mode. It uses gcc to find candidates for code completion as the name suggests.
CEDET 非常棒,一开始肯定需要一些时间,但值得。
CEDET is just great, certainly needs some time at the beginning but worth it though.
我倾向于使用 etag。
对于 emacs 集成:
http://www.gnu.org/software/ emacs/emacs-lisp-intro/html_node/etags.html
了解如何运行 etags。
http://www.delorie.com/gnu/docs/emacs/ etags.1.html
作为奖励,这篇博文描述了更多 emacs 设置以及如何使用 etags。
http://tulrich.com/geekstuff/emacs.html
编辑:
要回答评论,在代码中运行 etags 后,您可以使用 Cx t 完成单词(这就是它在我的机器上绑定的内容。)或者您可以调用 tag-search 方法。
I tend to use etags.
For emacs integration:
http://www.gnu.org/software/emacs/emacs-lisp-intro/html_node/etags.html
For how to run etags.
http://www.delorie.com/gnu/docs/emacs/etags.1.html
As a bonus, this blog post describes a bit more emacs setup and how to use etags.
http://tulrich.com/geekstuff/emacs.html
Edit:
To answer the comment, after runnning etags across your code, you can complete words with C-x t(that's what it's bound to on my machine.) Or you can call the tag-search method.
老实说,我喜欢普通的旧 dabbrev-expand (M-/),是的,除了打开缓冲区中相邻的字符之外,它不使用任何上下文信息,但从好的方面来说,它不使用任何上下文信息;) 这意味着您可以根据您在测试或评论中首先编写的文本来完成。
对于其他选项 http://www.emacswiki.org/emacs/CategoryCompletion
to be honest for i like plain old dabbrev-expand (M-/), yes it doesn't use any contextual information other than what characters are adjacent in the open buffers, but on the plus side it doesn't use any contextual information ;) this means you can complete from text you have written first in tests or comments.
for other options http://www.emacswiki.org/emacs/CategoryCompletion
当我在 Emacs 中编辑 python 代码时,我喜欢使用 pysmell 来完成代码补全:
http:// code.google.com/p/pysmell/
When I'm editing python code in Emacs, I like and use pysmell for code completion:
http://code.google.com/p/pysmell/