1482 votes

Comment faites-vous des commentaires de bloc en YAML?

Comment puis-je commenter un bloc de lignes en YAML ?

2220voto

Dolph Points 12741

YAML prend en charge les commentaires en ligne, mais ne prend pas en charge les commentaires de bloc.

De Wikipedia:

Les commentaires commencent par le signe dièse ( # ), peuvent commencer n'importe où sur une ligne, et se poursuivent jusqu'à la fin de la ligne

Une comparaison avec JSON, également de Wikipedia:

Les différences de syntaxe sont subtiles et surviennent rarement en pratique : JSON permet des jeux de caractères étendus comme UTF-32, YAML nécessite un espace après les séparateurs tels que la virgule, le signe égal et le deux-points alors que JSON ne le fait pas, et certaines implémentations non standard de JSON étendent la grammaire pour inclure les commentaires de Javascript /* ... */. Traiter de tels cas particuliers peut nécessiter un prétraitement léger du JSON avant l'analyse en tant que YAML en ligne.

# Si vous voulez écrire
# un Haïku commenté en bloc
# vous aurez besoin de trois dièses

106 votes

Haïku génial (5/7/5 syllabes)

263voto

eugene y Points 37378

La spécification décrit seulement une façon de marquer les commentaires :

Un commentaire explicite est marqué par un indicateur “#”.

C'est tout. Il n'y a pas de commentaires en bloc.

162voto

Kyle Carlson Points 898

Je n'essaie pas d'être intelligent à ce sujet, mais si vous utilisez Sublime Text pour votre éditeur, les étapes sont :

  1. Sélectionnez le bloc
  2. Cmd + / sur Mac ou Ctrl + / sur Linux et Windows
  3. Profit

Je suppose que d'autres éditeurs ont des fonctionnalités similaires aussi. Lequel utilisez-vous? Je serais heureux de faire quelques recherches.

3 votes

Si vous êtes dans Eclipse avec le plugin YEdit, le raccourci standard Eclipse de ctrl-/ basculera les commentaires de bloc dans les fichiers yaml.

1 votes

Certains combinaisons fonctionnent dans eclipse > 4.6 avec prise en charge intégrée pour YAML

1 votes

PhpStorm le fait comme un charme.

74voto

Knownasilya Points 998

Dans Vim, vous pouvez faire l'une des actions suivantes:

  • Commenter toutes les lignes: :%s/^/#
  • Commenter les lignes 10 à 15: :10,15s/^/#
  • Commenter de la ligne 10 à la ligne actuelle: :10,.s/^/#
  • Commenter de la ligne 10 jusqu'à la fin: :10,$s/^/#

ou en utilisant le bloc visuel :

  1. Sélectionnez une colonne sur plusieurs lignes après avoir entré en mode bloc visuel via Ctrl+v.
  2. Appuyez sur r suivi de # pour commenter le bloc sur plusieurs lignes en remplaçant la sélection, ou Shift+i#Esc pour insérer des caractères de commentaire avant la sélection.

9 votes

Le montant de réflexion le plus bas possible ;). "Vim, j'ai fait une chose. fais-le ici, et ici et ici et ici et ici..."

5 votes

Vous pouvez également appuyer sur : et taper s/^/# pour commenter la sélection actuelle.

1 votes

@Conrad.Dean essayez d'apprendre à penser en macros. Bien que pratiquement la même pour cette tâche, qqI#jq puis @Q@Q@Q@Q@Q@Q (car c'est plus rapide de ne pas relâcher la touche Maj), est une habitude que vous pouvez étendre à des tâches beaucoup plus complexes. Commencez petit. Pratiquez souvent. Bientôt, vous créerez des macros très complexes parfaitement du premier coup. Si vous effacez le registre d'abord qqq, vous pouvez inclure @q avant le dernier q pour obtenir la récursivité (mais seulement jusqu'à la fin du fichier).

45voto

Une approche alternative:

Si

  • votre structure YAML a des champs bien définis à utiliser par votre application
  • ET que vous pouvez librement ajouter des champs supplémentaires qui ne perturberont pas votre application

alors

  • à n'importe quel niveau, vous pouvez ajouter un nouveau champ de texte en bloc nommé "Description" ou "Commentaire" ou "Notes" ou autre

Exemple:

Au lieu de

# Ce commentaire
# est trop long

utilisez

Description: >
  Ce commentaire
  est trop long

ou

Commentaire: >
    Ce commentaire est également trop long
    et les sauts de ligne sont conservés lors de l'analyse!

Plus d'avantages:

  1. Si les commentaires deviennent grands et complexes et ont un modèle récurrent, vous pouvez les promouvoir de simples blocs de texte à des objets
  2. Votre application pourra -à l'avenir- lire ou mettre à jour ces commentaires

3 votes

Je suppose que c'est la réponse au saint graal à la question; surtout si on veut que ces commentaires apparaissent en JSON ou XML si l'on doit les transformer de YAML en ces deux formats.

1 votes

Voici comme ceux-ci var comment = 'ce code fait des trucs'

3 votes

@mTvare Les langages de programmation abordent les commentaires d'une manière différente de celle des langages de sérialisation des données. Un schéma spécifique qui semble stupide dans un domaine pourrait être le meilleur choix dans un autre.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X