2008-09-24 6 views

Antwort

2

Suchen im Web finde ich http://www.emacswiki.org/cgi-bin/wiki/EmacsTags#toc7complete-tab in etags beschreibt. Es ist standardmäßig an M-Tab gebunden. Diese Bindung kann ein Problem für Sie

Auch hat etags einige Grenzen, die Sie ärgern können ...

Der Link verweist auch mit besserer Symbol Fertigstellung Unterstützung cedet.

8

Ich kann deine Frage nur als jemand beantworten, der Eclipse nicht viel benutzt hat. Aber! Was, wenn es eine wirklich schöne schnelle heuristische Analyse von alles gab, die Sie in Ihren emacs Puffern getippt haben, und Sie haben Smart Abschluss über alles das überall, nicht nur im Code?

 
M-x load-library completion 
M-x global-set-key C-RET complete RET 
18

M-/ ist eine schnelle und schmutzige zum automatischen Vervollständigung basierend auf dem Inhalt des aktuellen Puffers. Es wird dir nicht alles geben, was du in Eclipse bekommst, aber es ist überraschend mächtig.

+1

Nicht zu vergessen, dass die Bindung von M-/zu 'Hippie-Expand' noch mehr Möglichkeiten der Vervollständigung bietet. –

7

Wenn ich Java-Entwicklung wurde dabei verwendete ich das verwenden:

Java Development Environment for Emacs (JDEE)

Die JDEE bieten Completion-Methode Namen, wenn Sie explizit eine JDEE bereitgestellte Funktion aufrufen. Es verfügt über eine Tastaturbindung für diese Funktionalität im Jdee-Modus.

6

Das CEDET Paket bietet Abschluss für C/C++ & Java (und für einige andere Sprachen). Zur anfänglichen Anpassung können Sie my config nehmen, die ich verwende, um mit C++ - Projekten zu arbeiten

3

Momentan verwende ich Auto Complete für Emacs. Als aktueller Visual Studio- und Ex-Eclipse-Nutzer kann ich sagen, dass es beide Anwendungen recht gut mit sich bringt. Es ist immer noch nicht so gut wie Microsoft IntelliSense für C#, aber einige würden sagen, dass C++ notorisch schwierig zu analysieren ist.

Es nutzt die Macht von (glaube ich) die Semantic Paket von Cedet, und ich finde es fühlt sich besser an, als im Vergleich zu Smart Complete zu verwenden. Es vervollständigt C++ - Member, lokale Variablen usw. Es ist ziemlich gut. Es fällt jedoch schwer, überladene Methoden nicht zu vervollständigen (es zeigt nur die Funktion einmal ohne Parameter, aber das ist eine Beschränkung von Cedet, glaube ich) und andere verschiedene Dinge. Es kann sich aber in Zukunft verbessern!

Übrigens könnte ich hier falsch liegen, aber ich denke, Sie brauchen ein EDE-Projekt, das für die Fertigstellung der Klassenmitglieder eingerichtet wurde (genau wie Sie normalerweise mit Semantic). Ich habe es nur benutzt, während ich ein EDE-Projekt hatte, also nehme ich an, das ist wahr.

0

auto-complete-clang ist das, was Sie wollen. Kann nicht schief gehen mit einem tatsächlichen C++ - Compiler für Vervollständigungen.

Das einzige Problem ist, es gibt keine Möglichkeit zu wissen, was -I und -D Flags an den Compiler übergeben werden. Es gibt Pakete für Emacs, mit denen Sie Projekte deklarieren können und dann können Sie diese verwenden.

Persönlich benutze ich CMake für alle C und C++ arbeiten, so schrieb ich einige CMake code, um diese Informationen an Emacs über Verzeichnis-lokale Variablen zu übergeben. Es funktioniert, aber ich denke daran, ein Paket zu schreiben, das cmake von emacs aufruft, damit es weniger eindringt.