He estado trabajando con un código de motor de exportación de organización que pasa alrededor de algunos objetos de lista bastante grandes y complejos. Es bastante tedioso explorar un objeto leyendo a través de una representación impresa larga de un objeto envuelta en palabras o escribiendo y evaluando iterativamente los accesos en el búfer de memoria virtual. Me pregunto si hay algún buen método para examinar los valores de forma interactiva.
Tomemos por ejemplo: muchos IDE que presentan valores de objetos en una vista de árbol interactiva que permite expandir gradualmente las claves / valores. El objeto se muestra constantemente en la pantalla y puede examinarse sin preocuparse demasiado por los tipos de valores que se visualizan. Una captura de pantalla aleatoria de las herramientas de desarrollador de Chrome como ilustración:
Otras herramientas presentan valores como popovers navegables (funcionalmente muy similares). Una captura de pantalla aleatoria de Visual Studio:
¿Hay algo similar para emacs lisp? ¿Quizás algo integrado en edebug o proporcionado por otro paquete? ¿O solo está esperando ser desarrollado?
Nota: descubrí pp y pp + poco después de publicar esta pregunta. El formato es increíblemente útil para navegar visualmente la estructura del objeto. Ahorra la necesidad de modificar print-length
y print-depth
valores extremos y formatear la salida en un búfer separado.
hide-show.el
ayude a este respecto.pp
ypp+
hace lo que quiere, puede agregarlo como su propia solución y marcarlo como respuesta en pocos días.Respuestas:
Encontré que la función
pp-eval-last-sexp-with-tooltip
en elpp+
paquete es una gran solución de propósito general para esto. Es efectivamente igualeval-last-sexp
, pero formatea el valor de retorno y lo muestra como información sobre herramientas. Los valores mayores quepp-max-tooltip-size
(x-max-tooltip-size
) se muestran en una ventana separada.Lo tengo obligado
C-x C-e
en este momento:fuente