大きな/複雑なLispオブジェクトを調べる方法


12

私は、いくつかのかなり大きく複雑なリストオブジェクトを渡すいくつかの組織エクスポートエンジンコードを使用しています。オブジェクトの長いワードラップされた印刷表現を読んだり、スクラッチバッファ内のアクセサを繰り返し記述したり評価したりして、オブジェクトを探索するのはかなり面倒です。私は、対話的に値を調べるための良い方法があるかどうか疑問に思っています。

例:キー/値を段階的に拡張できるインタラクティブなツリービューでオブジェクト値を表示する多くのIDE。オブジェクトは永続的に画面に表示され、表示されている値の種類についてあまり心配することなく調べることができます。イラストとしてのChrome開発者ツールのランダムなスクリーンショット:

Chrome開発者ツールオブジェクトビュー

他のツールは、ナビゲート可能なポップオーバーとして機能します(機能的には非常に似ています)。Visual Studioからのランダムなスクリーンショット:

Visual Studioデータヒント

emacs lispに類似したものはありますか?おそらく、edebugに組み込まれているものや、別のパッケージによって提供されているものがありますか?または、これは開発されるのを待っていますか?

注:この質問を投稿した直後にpppp +を発見しました。フォーマットは、オブジェクト構造を視覚的にナビゲートするのに非常に役立ちます。極端な値に変更しprint-lengthたりprint-depth、別のバッファで出力をフォーマットしたりする必要がなくなります。


おそらくライブラリhide-show.elはこの点で役立ちます。
ドリュー

3
@ebpaた場合pppp+、あなたが望むもの、そしてあなた自身のソリューションとして、それを追加し、数日で答えとしてそれをマークすることができます。
カウシャルモディ

@Drew私はpp +ベースのソリューションで答えを提供しました。私はそれで完全に満足していません。より良い代替案を公開したら、回答を更新します。
ebpa

回答:


0

パッケージpp-eval-last-sexp-with-tooltip内の関数は、pp+このための優れた汎用ソリューションであることがわかりました。これは実質的にと同じですがeval-last-sexp、戻り値をきれいにフォーマットし、ツールチップとして表示します。pp-max-tooltip-sizex-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.