Ich habe seit über einem Jahr versucht, Emacs als C / C ++ - IDE zu verwenden. Ich war bisher nur am Rande erfolgreich, bin aber unterwegs auf ein paar Ziegelmauern gestoßen. Momentan versuche ich, CEDET zu verwenden, aber ich habe Schwierigkeiten zu verstehen, wie man es effektiv einsetzt.
Die Funktionen, die ich in einer IDE suche, sind wie folgt:
- Management von Software "Projekten". Ich möchte, dass meine IDE alle Dateien erfasst, aus denen sich mein aktuelles Projekt zusammensetzt, damit ich Funktionen wie Suchen und Ersetzen in meinem Projekt ausführen kann. (Es wäre schön, wenn ich dies auch erreichen könnte, ohne meinen Quellbaum mit vielen Unterstützungsdateien zu verunreinigen. Warum benötige ich mehr als eine zentrale Projektdatei pro Projekt?)
- Die Möglichkeit, das aktuelle Projekt in der IDE zu erstellen, unabhängig davon, welchen Puffer ich gerade besuche. Ich muss in der Lage sein, einen Schlüssel zu binden, der das aktuelle Projekt erstellt.
- Fehler melden. Ich möchte nicht mehr als 500 Ausgabezeilen lesen müssen, um die Fehler zu finden, die von den Build-Tools gemeldet wurden. Vorzugsweise erscheinen die Fehler in einem eigenen Puffer mit einer Zeile pro Fehler.
- Ein Bewusstsein für Symbole innerhalb des Projekts und wo sie definiert sind. Ich möchte zu einer Symboldefinition springen, unabhängig davon, ob sie sich in meinen Projektdateien oder in den System-Include-Dateien befindet.
- Visuelles Debuggen. Ich möchte eine Beobachtungsliste der lokalen Variablen haben, die automatisch aktualisiert werden, wenn ich durch den Code gehe. Ich möchte in der Lage sein, Haltepunkte im Code zu setzen, um zu sehen, welche Codezeile als nächstes ausgeführt wird.
Ich weiß, dass jede dieser Funktionen vorhanden ist, weil ich jede Funktion gleichzeitig mit EDE, Semantic, GDB usw. ausgeführt habe. Das Problem ist, dass ich nie alle Funktionen gleichzeitig ausführen konnte , weil jedes Teil normalerweise für sich konfiguriert werden muss und es in der Regel zu viel Arbeit ist, um herauszufinden, wie alle auf einmal konfiguriert und zusammenarbeiten können.
Welche Lösungen gibt es, um Emacs in eine voll funktionsfähige C / C ++ - IDE zu verwandeln? Müssen Sie immer alles Stück für Stück konfigurieren, oder gibt es eine Möglichkeit, alle Funktionen gleichzeitig einzurichten?
EDIT: Eine gute Antwort auf diese Frage muss nicht alle fünf vorgegebenen Kriterien genau erfüllen. Ich habe lediglich die Liste angegeben, um eine genauere Vorstellung von der Art der Funktionen zu erhalten, die ich sehen möchte, bevor ich eine IDE als "voll funktionsfähig" betrachten würde. Es ist durchaus möglich, dass CEDET in die Rechnung passt, aber ich muss noch ein ausführliches Tutorial finden, um es von Grund auf neu einzurichten.