JSONのコード折りたたみ拡張機能


15

私は1つのフィールド値(整数)が変更された複数の繰り返しブロックを持つjsonファイルを扱っています-実際、すべての変更された値は直前の対応する値がインクリメントされただけです。そのようなファイルを読みやすくするために、繰り返しブロックのこのセット全体を1つのブロックに折り畳み、これらのブロック全体で変化する値の範囲を示すことができるようにしたいと思います。emacsの中のメソッドを折りたたみ、コードの検索、私が見つかりましたhs-minor-modeoutline-mode。ただし、提供する機能から希望する機能に移行する方法がわかりません。誰かが私がこれを達成する方法の大まかな概要を提供できますか?

編集:私がやろうとしていることの例:

次のようなjsonファイルがあるとします。

{
    "SomeArray": [
        {
        "ChangingField": 1,
        "ConstantField" : "X"
        },
        {
        "ChangingField": 2,
        "ConstantField" : "X"
        },
        {
        "ChangingField": 3,
        "ConstantField" : "X"
        },
        {
        "ChangingField": 4,
        "ConstantField" : "X"
        },
        {
        "ChangingField": 5,
        "ConstantField" : "X"
        }
    ]
}

次のように表示したいと思います。

{
    "SomeArray": [
        {
        "ChangingField": 1...5,
        "ConstantField" : "X"
        }
    ]
}

非常に自由な質問に対する謝罪。


1
良い質問-それは非常に便利でしょう。
ドリュー

回答:


8

Emacsにはさらに折り畳みオプションがあります:http : //wikemacs.org/wiki/Folding#YafoldingとYafoldingは、インデントに基づいているため、あなたのケースに最適です。また、コマンドを検出するための素晴らしいインターフェイスà-laMagitも含まれています。

ただし、ボックスのフィールドの範囲が表示されないため、質問に完全には答えません。

YafoldingはMELPAにあります:

M-x package-install yafolding

1

emacs 'を使用しhideshowます。どこにでもカーソルを置いて、その下のブロック「n」レベルを非表示にするには、コマンドを使用します

C-c @ C-l

ここで、nはを押すことで設定される数値プレフィックス引数です

C-u 1 RET

hsmodeについて詳しくは、hs-modeをご覧 ください。プレフィックス引数の詳細については、 プレフィックス引数 hsモードはデフォルトモードでは機能しません。これを機能させるには、js2-mode(または)js-modeが必要です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.