Node.jsのロギングに winston を使用すると、jsonログファイルが取得されます。この静脈のログファイルは、単純に(改行で区切られた)jsonオブジェクトのシーケンスです。これは、ログのクエリやログをファーストクラスのデータとして扱うのに最適です!
ただし、Sublime
とgedit
(少なくとも、Ubuntu、sublime 2、gedit 3.6.2で使用しているバージョン)は、jsonの強調表示が不十分です。キーには同じ色を使用していますおよび値、ログの掘削は非常に苦痛であり、リモートで人道的に行うことは本当に不可能です。
既存のchrome extensions
jsonの強調表示もここでは役に立たない-jsonオブジェクトのコレクションを処理できないため、最初に手動で合成親オブジェクト内の配列に変換しない限り、これらのログファイルの表示に失敗する(したがって、jsonに変換する)オブジェクト)。これは、まだ一般的に書き込まれているログファイルを表示する場合は退屈です......
Jsonログファイルをそのまま飲み込み、同時にキーを値とは異なる色で強調表示できるツールがありますので、jsonログはマシンだけでなく人にも優しいですか?これは本当の痛みです。
ありがとう!
Sublime Textの Package Control および Github で利用可能な Neon Color Scheme を確認してください。キーと値は異なる色で強調表示され、レベルごとに異なるキー色があります。
完全な開示:私はこのプロジェクトのメンテナーですが、本当に役立つと思います-上に示したようなマルチレベルのJSONファイルで作業するときは確かに役立ちます。
デフォルトのMonkaiテーマが気に入ったら、MonokaiJSON + Themeをチェックしてください!文字列、辞書、配列、およびこれらすべての混合もサポートします!
オリジナルのミステリーテーマを変更して、よりきれいなjsonのルールを追加しました。 @MattDMoの回答の修正版であり、さまざまなレベルで同様のさまざまなキーの色があります。ここから入手できます
https://github.com/shaunakv1/twilight-tmTheme-better-json-highlight
JSONの外観は次のとおりです。
Allen Bargui の答えと MattDMo の答えを混ぜて、追加することでコードの深さを指定する辞書を追加するだけで、ネストされたキー/値の色を変更できますmeta
source.jsonワードの後。
Preferences> Browse Packagesに移動し、Color Scheme-Defaultフォルダー内でテーマファイルを見つけます。次の行を追加して編集します。
<dict>
<key>name</key>
<string>Json Keys - 1 deep</string>
<key>scope</key>
<string>source.json meta meta.structure.dictionary.json string.quoted.double.json</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FF0000</string> <!-- your keys color -->
</dict>
</dict>
<dict>
<key>name</key>
<string>JSON Values - 1 deep</string>
<key>scope</key>
<string>source.json meta meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#00FF00</string> <!-- your custom color -->
</dict>
</dict>
<dict>
<key>name</key>
<string>Json Keys</string>
<key>scope</key>
<string>source.json meta.structure.dictionary.json string.quoted.double.json</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FF0000</string> <!-- your keys color -->
</dict>
</dict>
<dict>
<key>name</key>
<string>JSON Values</string>
<key>scope</key>
<string>source.json meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#00FF00</string> <!-- your custom color -->
</dict>
</dict>
Sublimeは最初に一致するオカレンスを選択するため、残りの前により深いものを追加することが重要です。 meta
を追加することでさらに深さを上げることができると思いましたが、実際にはうまくいきませんでした...しかし、少なくとも深さ1ではうまくいきました。
sublimeTextのjsonファイルを見ると、キーと値のスコープが異なることがわかりました。そのため、配色をカスタマイズし、キーと値に異なる色を追加することは非常に簡単です。
キーのスコープはsource.json meta.structure.dictionary.json string.quoted.double.json
値はsource.json meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json
このスニペットを配色ルールの下部に追加すると、異なる色で表示されるはずです。
<dict>
<key>name</key>
<string>Json Keys</string>
<key>scope</key>
<string>source.json meta.structure.dictionary.json string.quoted.double.json</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#FF0000</string> <!-- your keys color -->
</dict>
</dict>
<dict>
<key>name</key>
<string>JSON Values</string>
<key>scope</key>
<string>source.json meta.structure.dictionary.json meta.structure.dictionary.value.json string.quoted.double.json</string>
<key>settings</key>
<dict>
<key>foreground</key>
<string>#00FF00</string> <!-- your custom color -->
</dict>
</dict>
投稿された他の素晴らしい回答とは別に、問題に対する別の本当にシンプルで非常にエレガントなソリューションは、 Boxy Theme を使用することです。含まれているカラースキームの1つを使用する場合、デフォルトでJSONの構文が強調表示されます。
Package Control を使用してインストールします。ここで、Boxyは_Boxy Theme
_。
Command+Shift+P (mac) / Ctrl+Shift+P (win)
経由で_Command Palette
_を開きますPackage Control: Install Package
_を選択しますBoxy Theme
_を見つけて、Enter
を押しますPackage Control: Satisfy Dependencies
_を選択しますテーマが提供するコマンドを使用して、UIテーマと配色をアクティブにします。
Command+Shift+P (mac) / Ctrl+Shift+P (win)
経由で_Command Palette
_を開きますBoxy Theme: Activation
_または_Boxy Theme: Configuration
_を選択しますEnter
をヒットBoxy Theme withBoxy Tomorrowカラースキーム適用されます。カラーバリエーションは、10レベルの深さで利用できます。