Il Scintilla componente utilizzato da Notepad ++ è responsabile dei lexer per l'evidenziazione della sintassi. Apparentemente, il progettista di quel lexer non ha deciso di distinguere tra nomi e valori delle proprietà, anche se sembra una buona idea. Per dare un suggerimento per quel miglioramento nel lexer, dovresti andare a vedere se il più recente Scintilla JSON Lexer ha già incorporato quel cambiamento, e se no, inserisci un richiesta con il progetto Scintilla. Se il cambiamento è già presente, o se Scintilla rilascia una nuova versione con quella correzione, dovresti farlo chiedi a Notepad ++ developer aggiornare Scintilla per includere quella correzione. (E l'ultima volta NPP aggiornato è Scintilla era da 3.34 a 3.56 - circa 4 anni fa - rispetto alla Scintilla 4.1.3 più recente
Soluzione alternativa # 1: cambia il Style Configurator & gt; JSON & gt; Operatore colore per avere qualcosa che spicca tra la proprietà e il valore - magari con uno sfondo giallo brillante o qualcosa del genere - per rendere più facile ai tuoi occhi trovare il :
separatori, almeno ...
Soluzione n. 2: in Forum della comunità , Claudia Frank aveva lavorato su un lexer basato su PythonScript che avrebbe consentito linguaggi definiti dall'utente con espressioni regolari, piuttosto che il semplicistico UDL 2.1. La mia collezione di link al suo sforzo è a https://notepad-plus-plus.org/community/topic/16164/bug-javascript-multiline-character-not-understood-by-notepad/11 . Con qualche sforzo, potresti essere in grado di definire la regex necessaria per analizzare JSON nel modo che preferisci.
aggiornare : Potresti riuscire a ottenere un UDL (User Defined Language) per fare ciò che desideri. Ne ho trovato uno veloce che avrà le differenze di evidenziazione che hai descritto. Come un effetto collaterale sgradevole, rompe la piegatura (quindi non può crollare { ... }
accoppiamenti. (Ho provato a impostare le opzioni di piegatura UDL, ma le pieghe annidate non funzionavano correttamente, almeno al primo tentativo)
- Lingua & gt; Definisci la tua lingua ... : Creare nuovo = JsonPropertyValues.
- Operatori e amp; Delimitatori
- Operatori 1 =
, : " ' { }
, STYLER = imposta i colori che vuoi per la punteggiatura
- Delimitatore 1 stile = APERTO:
:
, Chiudi = ((EOL))
, STYLER = imposta il colore che vuoi che il lato VALUE sia; impostato Nesting:
permettere Operators 1
- Delimitatore 2 stile = APERTO:
"
, Chiudi = "
, STYLER = imposta il colore per il lato sinistro (proprietà) quando tra virgolette, non è necessario alcun nidificazione
- Delimitatore 3 stile = APERTO:
'
, Chiudi = '
, STYLER = imposta il colore per il lato sinistro (proprietà) quando è in virgolette singole, non è necessario alcun nidificazione
Potresti voler impostare Nesting:
includere Numbers
su tutte quelle voci STYLER sopra. E poi vai al Commento & amp; Numero scheda e definire lo STYLER per impostare la colorazione per i numeri pure.
È possibile impostare il Ext scatola a json
, se vuoi che si applichi a tutti .JSON
file, o potresti semplicemente applicare manualmente Lingua & gt; JsonPropertyValues a qualsiasi JSON che si desidera analizzare in questo modo.
Ad ogni modo, questo è un punto di partenza ragionevole, basato su ciò che hai descritto; sentiti libero di personalizzarlo o di espanderlo oltre le funzionalità incluse.