Ich habe mit einem org-Exportmodul-Code gearbeitet, der einige ziemlich große und komplexe Listenobjekte umgibt. Es ist ziemlich mühsam, ein Objekt zu erkunden, indem Sie eine lange, mit Wörtern umschlossene, gedruckte Darstellung eines Objekts lesen oder iterativ Zugriffsmethoden in den Arbeitspuffer schreiben und auswerten. Ich frage mich, ob es gute Methoden gibt, um Werte interaktiv zu untersuchen.
Ein Beispiel: Viele IDEs präsentieren Objektwerte in einer interaktiven Baumansicht, die es ermöglicht, Schlüssel / Werte schrittweise zu erweitern. Das Objekt wird dauerhaft auf dem Bildschirm angezeigt und kann ohne große Bedenken hinsichtlich der angezeigten Wertetypen untersucht werden. Ein zufälliger Screenshot der Chrome-Entwicklertools zur Veranschaulichung:
Andere Werkzeuge präsentieren Werte als navigierbare Popovers (funktionell sehr ähnlich). Ein zufälliger Screenshot aus Visual Studio:
Gibt es etwas Ähnliches für Emacs Lispel? Vielleicht etwas, das in edebug eingebaut ist oder von einem anderen Paket bereitgestellt wird? Oder wartet das nur darauf, entwickelt zu werden?
Hinweis: Ich habe pp und pp + kurz nach dem Posten dieser Frage entdeckt. Die Formatierung ist unglaublich hilfreich beim visuellen Navigieren in der Objektstruktur. Sie müssen keine Änderungen print-length
und print-depth
Extremwerte vornehmen und die Ausgabe nicht in einem separaten Puffer formatieren.
hide-show.el
hilft die Bibliothek dabei .pp
undpp+
mach was du willst, dann kannst du das als deine eigene Lösung hinzufügen und es in wenigen Tagen als Antwort markieren.Antworten:
Ich fand, dass die Funktion
pp-eval-last-sexp-with-tooltip
impp+
Paket eine großartige Allzwecklösung für dieses Problem ist. Es ist praktisch dasselbe wieeval-last-sexp
, formatiert aber den Rückgabewert ordentlich und zeigt ihn als QuickInfo an. Werte größer alspp-max-tooltip-size
(x-max-tooltip-size
) werden in einem separaten Fenster angezeigt.Ich habe es
C-x C-e
im Moment gebunden :quelle