Ich habe Setup Emacs 23.1.50.1 mit cedet 1.0 und EZB 2,40 (stark inspiriert von Alex Otts Setup auf http://github.com/alexott/emacs-configs/blob/master/rc/emacs-rc-cedet.el und seine sanfte Einführung in cedet (http://alexott.net/en/writings/emacs-devenv/EmacsCedet.html) dank Alex). Es funktioniert ganz gut, aber ich brauche mehr Verständnis dafür, wie Code-Vervollständigung und Symbol-Referenzen gehandhabt werden, wenn man mit mehreren Projekten arbeitet.Emacs/CEDET. Mehrere Projekte und Code-Vervollständigung
Ich habe ein einfaches ede Projekt wie diese erstellt:
(ede-cpp-root-project "test"
:file "~/src/sw/anchor"
:include-path '("/Common")
:system-include-path '("~/include"))
Wenn dieses Projekt geladen wird, wird nur für Fertigstellungen in den verschiedenen Verzeichnissen in den Projektkonfigurationen angegeben aussehen Semantic?
Ich folgte http://mmmyddd.freeshell.net/blog/Computer/Emacs/usecscopesemanticdbbackend, um cscope als Backend für semanticdb zu verwenden. Ich kann semanticdb-enable-cscope-in-buffer ausführen, ohne dass emacs irgendwelche Fehler wirft, aber ich habe keine Ahnung, ob semantic meine Datenbank benutzt. Kann ich in meiner Projektdefinition auch einen Verweis auf ein cscope.out hinzufügen, um besser steuern zu können, welche Dateien im aktuellen Kontext nach Referenzen suchen?
Ein paar Merkwürdigkeiten:
Wenn ich versuche, eine neue Quelldatei ich den Fehler zu öffnen „gelten: für die Programmsuche: keine solche Datei oder das Verzeichnis, global“ und nichts passiert. Wenn ich versuche, es wieder zu öffnen, ist alles in Ordnung.
Wenn ich versuche, ein Projekt zu laden, indem Sie an der Anker-Datei verweist, erhalte ich diese Fehlermeldung: „wenn: Falscher Typ Argument: class-p, ede-CPP-root“
Für den "apply: Suche nach Programm: keine solche Datei oder Verzeichnis, globale" Fehler, haben Sie den Teil von Alex Ott Setup, die verwendet "(semanticdb-enable-gnu-global-databases ...)" kopiert? – Dingo
Das habe ich getan, aber ich vermute, dass ich es nicht brauche. Die Tatsache, dass es "gnu global support" heißt, hätte meinen Verdächtigen das Problem machen lassen sollen war da :). Vielen Dank. – anr78