큰 / 복잡한 lisp 객체를 검사하는 방법


12

크고 복잡한 목록 객체를 전달하는 조직 내보내기 엔진 코드로 작업하고 있습니다. 단어로 줄 바꿈으로 인쇄 된 긴 객체 표현을 읽거나 스크래치 버퍼에서 접근자를 반복적으로 작성하고 평가하여 객체를 탐색하는 것이 다소 지루합니다. 대화식으로 값을 검사하는 좋은 방법이 있는지 궁금합니다.

예를 들어, 키 / 값을 점진적으로 확장 할 수있는 대화식 트리보기에 객체 값을 표시하는 많은 IDE가 있습니다. 객체는 화면에 지속적으로 표시되며 볼 수있는 값 유형에 대해 큰 걱정없이 검사 할 수 있습니다. Chrome 개발자 도구의 무작위 스크린 샷 (예 :

Chrome 개발자 도구 객체보기

다른 도구는 값을 탐색 가능한 팝 오버 (기능적으로 매우 유사)로 나타냅니다. Visual Studio의 임의 스크린 샷 :

Visual Studio 데이터 팁

emacs lisp와 비슷한 것이 있습니까? 아마도 edebug에 내장되거나 다른 패키지에서 제공되는 것이 있습니까? 아니면 이것은 단지 개발을 기다리고 있습니까?

참고 : 이 질문을 게시 한 직후 pppp +를 발견했습니다 . 서식은 객체 구조를 시각적으로 탐색하는 데 매우 유용합니다. 별도의 버퍼에서 출력 을 수정 print-length하고 print-depth극단적 인 값을 필요로하지 않고 출력 형식을 지정할 필요가 없습니다 .


아마도 도서관 hide-show.el은 이런 점에서 도움이 될 것입니다.
Drew

3
@ebpa 경우, pp그리고 pp+당신이 원하는, 당신은 당신의 자신의 솔루션으로 그를 추가하고 며칠 답변으로 표시 할 수 없습니다.
Kaushal Modi

@Drew pp + 기반 솔루션에 대한 답변을 제공했습니다. 나는 그것에 완전히 만족하지 않았다. 더 나은 대안을 게시 할 때 답변을 업데이트하겠습니다.
ebpa

답변:


0

나는 기능을 발견 pp-eval-last-sexp-with-tooltippp+패키지는 이에 대한 좋은 범용 솔루션입니다. 효과적으로와 동일 eval-last-sexp하지만 반환 값의 형식을 깔끔하게 지정하고 툴팁으로 표시합니다. pp-max-tooltip-size( x-max-tooltip-size) 보다 큰 값 은 별도의 창에 표시됩니다.

나는 현재에 묶여있다 C-x C-e.

(require 'pp+)
(define-key global-map (kbd "C-x C-e") #'pp-eval-last-sexp-with-tooltip)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.