Come si bloccano i commenti in YAML?


1373

Come posso commentare un blocco di linee in YAML?


la domanda non ha indicazioni su come farlo con un determinato editor di testo, quindi ti preghiamo di continuare a rispondere in termini di regole e libertà di sintassi yaml.
Alexander Stohr,

Risposte:


2008

YAML supporta i commenti incorporati, ma non supporta i commenti di blocco.

Da Wikipedia :

I commenti iniziano con il segno numerico ( #), possono iniziare ovunque su una riga e continuare fino alla fine della riga

Un confronto con JSON, anche da Wikipedia :

Le differenze di sintassi sono sottili e raramente sorgono nella pratica: JSON consente set di caratteri estesi come UTF-32, YAML richiede uno spazio dopo separatori come virgola, uguale e due punti mentre JSON non lo fa e alcune implementazioni non standard di JSON estendono la grammatica a includi i /* ... */commenti di Javascript . La gestione di tali casi limite può richiedere una leggera pre-elaborazione di JSON prima dell'analisi come YAML in linea.

# If you want to write
# a block-commented Haiku
# you'll need three pound signs

49
fantastico haiku (5/7/5 sillabe)
Scott Pelak,

224

Le specifiche descrivono solo un modo per contrassegnare i commenti:

Un commento esplicito è contrassegnato da un indicatore "#".

È tutto. Non ci sono commenti in blocco.


137

Non cercare di essere furbo, ma se usi Sublime Text per il tuo editor, i passaggi sono:

  1. Seleziona il blocco
  2. cmd+ /su Mac o ctrl+ /su Linux e Windows
  3. Profitto

Immagino che anche altri editor abbiano funzionalità simili. Quale stai usando? Sarei felice di scavare.


8
Funziona anche in Atom
mndrix il

3
Se ti trovi in ​​Eclipse con il plug-in YEdit, il blocco-commento-commutatore Eclipse standard di ctrl- / attiva / disattiva i commenti di blocco nei file yaml.
Matt Gibson,

1
alcune combinazioni funzionano in eclissi> 4.6 con supporto integrato per YAML
Faraz,

3
Funziona negli IDE JetBrains: RubyMine e Gogland
Rich Sutton il

3
Funziona anche in VSCode.
Zain Patel,

67

In Vim è possibile effettuare una delle seguenti operazioni:

  • Commenta tutte le righe: :%s/^/#
  • Righe di commento 10-15: :10,15s/^/#
  • Riga di commento 10 alla riga corrente: :10,.s/^/#
  • Riga di commento 10 alla fine: :10,$s/^/#

o usando il blocco visivo:

  1. Selezionare una colonna a più righe dopo aver inserito il blocco visivo tramite Ctrl+v.
  2. Premere rseguito da #per commentare il blocco a più righe che sostituisce la selezione o Shift+i#Escper inserire caratteri di commento prima della selezione.

9
la minima quantità di pensiero possibile;). "Vim, I did a thing. do it here, and here and here and here and here..."
Conrad.Dean,

4
Puoi anche premere :e digitare s/^/#per commentare la selezione corrente.
Hakunin,

1
@ Conrad.Dean prova a imparare a pensare nelle macro . Anche se praticamente lo stesso per questo compito, qqI#<esc>jqquindi @Q@Q@Q@Q@Q@Q(poiché è più veloce non rilasciare il tasto Maiusc), è un'abitudine che puoi estendere a compiti molto più complessi. Inizia in piccolo. Fai pratica spesso. Presto creerai macro molto complesse alla prima prova. Se si cancella prima il registro qqq, è possibile includere @qprima dell'ultimo qper ottenere la ricorsione (ma solo fino alla fine del file).
Bruno Bronosky,

@BrunoBronosky: invece di tutti quelli @q, puoi semplicemente farlo 6@qo 10000@qse ti piace.
bodo,

2
@bodo puoi davvero. La maggior parte dei comandi vim accetta :h countmoltiplicatori. Ma per me, visivamente qualsiasi cosa oltre 6 e devo farlo a mano perché non riesco a indovinarlo in modo affidabile. L'eccezione è che so di avere più di 60 righe sul mio terminale, quindi lo userò per stimare riproduzioni marco molto grandi. Come bonus, suggerirò a tutti di imparare :h gnquali sono le modalità di .ripetizione delle partite di ricerca. Vedi vimcasts.org/episodes/operating-on-search-matches-using-gn
Bruno Bronosky,

29

Un approccio alternativo:

Se

  • la tua struttura YAML ha campi ben definiti che possono essere utilizzati dalla tua app
  • E puoi aggiungere liberamente campi aggiuntivi che non rovineranno la tua app

poi

  • a qualsiasi livello è possibile aggiungere un nuovo campo di testo a blocchi denominato "Descrizione" o "Commento" o "Note" o altro

Esempio:

Invece di

# This comment
# is too long

uso

Description: >
  This comment
  is too long

o

Comment: >
    This comment is also too long
    and newlines survive from parsing!

Più vantaggi:

  1. Se i commenti diventano grandi e complessi e hanno uno schema ripetuto, è possibile promuoverli da semplici blocchi di testo agli oggetti
  2. La tua app potrebbe, in futuro, leggere o aggiornare tali commenti

Inteligente! Grazie.
Justin Krause, il

Immagino che questa sia la risposta del Graal Holly alla domanda; specialmente se si desidera che questi commenti vengano visualizzati in JSON o XML se si desidera passare da YAML a questi due.
Mohd,

7

Un modo per bloccare i commenti in YAML è usare un editor di testo come Notepad ++ per aggiungere un tag # (commento) a più righe contemporaneamente.

In Notepad ++ puoi farlo usando l'opzione del tasto destro "Blocca commento" per il testo selezionato.

Woo Immagini!


18
Questo non è l' unico modo .
Charlie Egan

E FWIW, la scorciatoia da tastiera per quello (in np ++) sarebbe ctrl-shift-Q (su Windows. Per altre piattaforme, vedi il menu modifica> commento / decomment).
Charlie Arehart,

6

Se si utilizza Eclipse con il plug-in yedit (un editor per file .yaml), è possibile commentare più righe mediante:

  1. selezionando le righe da commentare, quindi
  2. Ctrl+ Shift+C

E per annullare il commento, seguire gli stessi passaggi.


5

Per gli utenti di Ruby Mine su Windows:

Apri file nell'editor Seleziona il blocco e premi Ctrl+forward slash , avrai selezionato il blocco che inizia con #.

Ora, se si desidera un-commento del blocco commentato, premere stessa combinazione di tasti Ctrl+ forward slashnuovo


1
Penso che funzioni per tutti gli IDE di JetBrains. So che funziona anche per PyCharm :) Funziona anche su Mac OSX.
Edgar Martinez,

5

Emacs ha comment-dwim (Do What I Mean) - basta selezionare il blocco e fare un:

M-;

È un interruttore: usalo per commentare e rimuovere i commenti.

Se non hai installato la modalità yaml, dovrai dire a Emacs di usare il carattere hash (#).


5

Per gli utenti di Visual Studio Code (VSCode), il collegamento per commentare più righe è quello di evidenziare le righe che si desidera commentare e quindi premere:

ctrl + /

Premere di nuovo ctrl+ /può anche essere utilizzato per disattivare i commenti per una o più righe selezionate.


1

Nel browser Azure Devops (editor yaml della pipeline),

Ctrl+ K+ CBlocco commenti

Ctrl+ K+ UUncomment Block

C'è anche un'opzione 'Attiva / disattiva blocco commenti' ma questo non ha funzionato per me. inserisci qui la descrizione dell'immagine

Esistono anche altri modi "strani": fare clic con il tasto destro per visualizzare "Tavolozza comandi" o F1

inserisci qui la descrizione dell'immagine

Quindi scegli un'opzione cursore. inserisci qui la descrizione dell'immagine

Ora è solo una questione di #

o anche più intelligente [ Ctrl+ k] + [ Ctrl+ c]

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.