25
  1. Emacs wiki
  2. Xrefactory
  3. CEDET
  4. ?

What can you recommend me ?

StackedCrooked
  • 34,653
  • 44
  • 154
  • 278
ZeroCool
  • 1,490
  • 4
  • 19
  • 33

7 Answers7

9

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.

Carmine Paolino
  • 2,749
  • 20
  • 21
  • Any tutorials on how to install CEDET or GNU Global, and get them working with company-mode? Those don't seem to be available in ELPA – wrongusername Jan 14 '12 at 01:03
8

You could also use an autocomplete plugin for clang as long as your source compiles with it. links:

Gizmomogwai
  • 2,496
  • 1
  • 20
  • 21
7

GCCSense

From the author of Auto Complete Mode. It uses gcc to find candidates for code completion as the name suggests.

emacs gccsense screenshot

Glorfindel
  • 21,988
  • 13
  • 81
  • 109
jfs
  • 399,953
  • 195
  • 994
  • 1,670
  • 1
    #archeology I tried several times (2 or 3) to use GCCsense during the last 10 years without success. Did you actually manage to set it up and make it works properly. Is the completion OK now? The fact that private data appear in the sample completion is not good sign... – log0 Mar 02 '12 at 13:07
  • @Ugo: I don't know current status. It worked at the time I've tried it. – jfs Mar 02 '12 at 15:15
  • never managed to make it build! – ZeroCool Jun 12 '12 at 10:18
2

CEDET is just great, certainly needs some time at the beginning but worth it though.

ZeroCool
  • 1,490
  • 4
  • 19
  • 33
1

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.

chollida
  • 7,834
  • 11
  • 55
  • 85
0

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

jk.
  • 13,817
  • 5
  • 37
  • 50
-3

When I'm editing python code in Emacs, I like and use pysmell for code completion:

http://code.google.com/p/pysmell/

Greg
  • 5,656
  • 3
  • 22
  • 19