Dienstag, 20. März 2012

Emacs, complete or not complete (part 2)

Im emacs-lisp mode funktioniert auto-complete sehr gut ohne weitere Tools zu aktivieren. Im c- oder c++-mode kennt auto-complete aber nur ein paar Keywords und den Buffer Inhalt. Aber das lässt sich ändern. Im Emacs einfach den semantic-mode aktivieren.




Nachdem die Header Files geparst wurden (geht recht fix), funktioniert auto-complete zumindest im c++-mode "out of the box".



Im c-mode könnte man damit nachhelfen, ist aber etwas träge in der Bedienung:

  (add-hook 'c-mode-hook
    (lambda ()
      (add-to-list 'ac-sources 'ac-source-semantic-raw)))


Im Moment suche ich noch nach einer Lösung warum auto-complete mit ac-source-semantic (ohne raw) nicht zurechtkommt.

Hier eine Möglichkeit ac-complete-semantic-raw über Hotkeys aufzurufen:

  (add-hook 'c-mode-hook
    (lambda ()
      (local-set-key (kbd "ESC <f1>") 'ac-complete-semantic-raw)))



Zu Erwähnen sei noch, der semantic-mode beherrscht auch Tag Completion, ist aber nicht so praktisch wie im auto-complete Modus.


Auto Complete Mode

Auto Complete Mode User Manual

Semantic Manual (liest man natülich im Emacs) ;-)
(info "(semantic)Top")

Keine Kommentare:

Kommentar veröffentlichen