Sie können emacs zwingen, Dateien immer mit absoluten Namen zu öffnen:
(setq find-file-visit-truename t)
Ich befinde mich in einer Linux-basierten Entwicklungsumgebung, in der ich keine Superuser-Berechtigungen habe.
Mein grundlegendes Problem ist, dass die Haltepunkte, die ich in emacs über pdb einstelle, niemals funktionieren. Der Debugger hält an diesen Haltepunkten nie an.
Nach Untersuchung dieses Problems habe ich den Verdacht, dass der Pfad des Haltepunkts nicht mit dem tatsächlichen Pfad der Datei übereinstimmt.
Der Pfad, den ich von der Kommandozeile aus sehe, sieht folgendermaßen aus:
/home/me/a/b
Aber die Administratoren haben es so eingerichtet, dass / home / me eigentlich ein Symlink zu einem versteckten Mount ist
/.hidden/x/me/a/b
Als ich Emacs starte aus /home/me/a/b
und versuche, zu debuggen, test.py
in diesem Verzeichnis durch die Ausgabe M-x pdb
und dann pdb test.py
die Kopfzeile auf dem gud
besagten Puffer für den vollständigen Pfad der Datei ist
/.hidden/x/me/a/b/test.py
Wenn ich dann versuche, einen Haltepunkt in der Python-Datei festzulegen M-x space
, erscheint die Aufforderung, die ich im gud
Puffer sehe
Breakpoint X at /home/me/a/b/test.py:Y
Der Haltepunkt ist also unter, /home/me/a/b/test.py
aber der Dateipfad am Header des gud
Puffers /.hidden/x/me/a/b/test.py
. Und der Debugger bleibt niemals am Haltepunkt stehen, was sehr ärgerlich ist.
Ich erhalte eine Bestätigung meiner Vermutungen, wenn ich ausdrücklich cd
in /.hidden/x/me/a/b/
und dann Emacs starten. Dann kann ich Haltepunkte setzen und der Debugger stoppt bei ihnen.
Derzeit ist meine Lösung, explizit cd
in den richtigen Pfad zu gehen und emacs zu starten.
Gibt es bessere Lösungen? Sei es durch Emacs, Bash oder Python?
Sie können emacs zwingen, Dateien immer mit absoluten Namen zu öffnen:
(setq find-file-visit-truename t)