Pracowałem z kodem silnika eksportu organizacji, który przekazuje dość duże i złożone obiekty listy. Eksplorowanie obiektu jest dość żmudne poprzez czytanie długiej, opakowanej słowem reprezentacji obiektu lub iteracyjne pisanie i ocenianie akcesoriów w buforze scratch. Zastanawiam się, czy istnieją jakieś dobre metody interaktywnego badania wartości.
Weźmy na przykład: wiele IDE, które prezentują wartości obiektów w interaktywnym widoku drzewa, co pozwala na stopniowe rozszerzanie kluczy / wartości. Obiekt jest stale wyświetlany na ekranie i można go badać bez większego zaniepokojenia przeglądanymi typami wartości. Losowy zrzut ekranu narzędzi programistycznych Chrome jako ilustracja:
Inne narzędzia prezentują wartości jako nawigowalne pop-upy (funkcjonalnie bardzo podobne). Losowy zrzut ekranu z Visual Studio:
Czy jest coś podobnego do emacs lisp? Być może coś wbudowanego w edebug lub dostarczonego przez inny pakiet? Czy to tylko czeka na rozwój?
Uwaga: odkryłem pp i pp + wkrótce po opublikowaniu tego pytania. Formatowanie jest niezwykle pomocne w wizualnej nawigacji struktury obiektów. Oszczędza to konieczności modyfikowania print-length
i print-depth
ekstremalnych wartości oraz formatowania danych wyjściowych w osobnym buforze.
hide-show.el
pomaga w tym zakresie.pp
ipp+
robisz, co chcesz, możesz dodać to jako własne rozwiązanie i oznaczyć jako odpowiedź w ciągu kilku dni.Odpowiedzi:
Odkryłem, że funkcja
pp-eval-last-sexp-with-tooltip
wpp+
pakiecie jest świetnym rozwiązaniem ogólnego zastosowania. Jest efektywnie taki sam jakeval-last-sexp
, ale starannie formatuje zwracaną wartość i wyświetla ją jako podpowiedź. Wartości większe niżpp-max-tooltip-size
(x-max-tooltip-size
) są pokazane w osobnym oknie.W tej chwili mam obowiązek
C-x C-e
:źródło