2010-12-20 11 views
0

Ich benutze Emacs als C++ IDE. Ich habe CEDET und EDE konfiguriert und funktioniert gut, aber ich habe ein kleines Problem.Wie schreibe ich eine locate-Funktion für ede

In meinem Projekt Header-Dateien sind über den gesamten Projektbaum verteilt, so dass ich eine Funktion schreiben muss, um Ede zu helfen, meine Header zu finden. Ich habe seit einiger Zeit nach einem Beispiel gesucht, aber ich habe nichts gefunden. Würde jemand so freundlich sein, mir zu helfen?

Vielen Dank im Voraus.

Antwort

1

Hier ist ein Beispiel für eine "Quick Find-Datei" in einem Projekt mit EDE und IDO:

 
(defun DE-ido-find-files-in-project() 
    (interactive) 
    (let ((allfiles nil) 
choice) 
    (ede-map-all-subprojects 
    ede-object-root-project 
    (lambda (p) 
     (let ((targets (oref p targets))) 
    (dolist (target targets) 
    (setq allfiles (append allfiles (oref target source))))))) 
    (setq choice 
    (ido-completing-read 
    (format "File in project %s: " (oref ede-object-root-project name)) 
    allfiles nil t)) 
    (when choice 
     (ede-find-file choice)))) 
0

Der Befehl 'ede-find-file' gebunden ist, auf "C-c f.". Abhängig von Ihrem Projekttyp müssen Sie möglicherweise ein Tool wie gnu-global oder idutils aktivieren. Informationen zu einigen dieser Tools finden Sie im CEDET-Handbuch. CEDET integriert in diese Werkzeuge, um Dinge wie Dateien und Symbole zu finden.

Wenn Sie stattdessen darauf verweisen, #include-Anweisungen aus einer C-Datei "gefunden" zu haben, damit die Symbolkomplettierung funktioniert, müssen Sie einen Include-Pfad für die Projektebene einrichten. Wie das funktioniert, hängt von der Art des verwendeten EDE-Projekts ab.

Verwandte Themen