Emacs Code-Vervollständigung für C / C ++? [geschlossen]
-
18-09-2019 - |
Frage
Was können Sie mir empfehlen?
Lösung 4
cedet ist einfach toll, muss sicherlich einige Zeit am Anfang, aber es lohnt sich aber.
Andere Tipps
Sie können versuchen, firmen Modus . Es ist ein Multi-Backend in-Puffer Vervollständigungsmechanismus.
Sehen Sie das Screencasts eine Vorstellung davon zu bekommen, wie es funktioniert.
Einige der Back-Ends sind:
- cedet Semantic
- dabbrev
- XCode
- PySmell
- Ropemacs
- GNU Global
Und es ist auch über ELPA .
Sie können auch eine Autocomplete-Plugin für Klirren verwenden, solange Ihre Quelle mit kompiliert. Links:
- https://github.com/Golevka/emacs-clang-complete-async
- https://github.com/brianjcj/auto-complete-clang
- https://github.com/mikeandmore/auto-complete-clang oder
- der Modus, der in der Klirren-Quelle enthalten ist: http://llvm.org/svn/llvm-project/cfe/trunk/utils/clang-completion-mode.el
GCCSense
Vom Autor von Auto Complete Modus . Es nutzt gcc Kandidaten für die Code-Vervollständigung zu finden, wie der Name schon sagt.
Ich neige dazu, etags zu verwenden.
Für Emacs-Integration: http://www.gnu.org/software/ emacs / emacs-Lisp-Intro / html_node / etags.html
Für wie etags laufen. http://www.delorie.com/gnu/docs/emacs/ etags.1.html
Als Bonus dieser Blog-Beitrag beschreibt ein bisschen mehr Emacs-Setup und wie etags zu verwenden. http://tulrich.com/geekstuff/emacs.html
Edit: Um den Kommentar zu beantworten, nach etags über Ihren Code runnning, können Sie Wörter mit Cx t vervollständigen (das ist, was es auf meinem Rechner gebunden ist.) Oder Sie können rufen Sie die Tag-Suche Methode.
Um ehrlich zu sein für i plain old wie dabbrev-expand (M- /), ja, es verwendet keine Kontextinformationen als das, was Zeichen benachbart ist in den offenen Puffern, aber auf der positiven Seite ist es nicht verwenden jede Kontextinformationen;.) dies bedeutet, dass Sie von Text können Sie zunächst in Tests oder Kommentare geschrieben
für andere Optionen http://www.emacswiki.org/emacs/CategoryCompletion
Wenn ich bearbeite Python-Code in Emacs, Ich mag und Verwendung pysmell für Code-Vervollständigung:
Ich finde, dass das Lernen, wie schnell eintippen (und einen anständigen Speicher) jedes Mal, Autovervollständigung schlägt. Wie weit müssen wir gehen, um zu versuchen und verdummen Programmierung?